xmlbeans-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kkro...@apache.org
Subject svn commit: r149465 - in xmlbeans/branches/1.x-jdk1.3: ./ docs/guide/ src/common/org/apache/xmlbeans/impl/common/ src/configschema/schema/ src/repackage/repackage/ src/typeimpl/org/apache/xmlbeans/impl/schema/ src/typeimpl/org/apache/xmlbeans/impl/validator/ src/typeimpl/org/apache/xmlbeans/impl/values/ src/xmlcomp/org/apache/xmlbeans/impl/tool/ src/xmlconfig/org/apache/xmlbeans/impl/config/ src/xmlpublic/org/apache/xmlbeans/ test/src/drt/drtcases/ test/src/easypo/ test/src/enumtest/ xdocs/ xkit/
Date Tue, 01 Feb 2005 23:55:47 GMT
Author: kkrouse
Date: Tue Feb  1 15:55:34 2005
New Revision: 149465

URL: http://svn.apache.org/viewcvs?view=rev&rev=149465
Log:
merge changes 110819:149464 from 1.x branch to 1.x-jdk1.3 branch

Added:
    xmlbeans/branches/1.x-jdk1.3/LICENSE.txt   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/LICENSE.txt
    xmlbeans/branches/1.x-jdk1.3/NOTICE.txt   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/NOTICE.txt
    xmlbeans/branches/1.x-jdk1.3/plugin.jelly   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/plugin.jelly
    xmlbeans/branches/1.x-jdk1.3/plugin.properties   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/plugin.properties
    xmlbeans/branches/1.x-jdk1.3/project.properties   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/project.properties
    xmlbeans/branches/1.x-jdk1.3/project.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/project.xml
    xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java
    xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/test/src/easypo/easypo.xml
    xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/test/src/enumtest/enumtest.xsdconfig
    xmlbeans/branches/1.x-jdk1.3/xdocs/
      - copied from r149449, xmlbeans/branches/1.x/xdocs/
    xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/xdocs/changes.xml
    xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/xdocs/goals.xml
    xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/xdocs/index.xml
    xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/xdocs/navigation.xml
    xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml   (props changed)
      - copied unchanged from r149449, xmlbeans/branches/1.x/xdocs/properties.xml
Modified:
    xmlbeans/branches/1.x-jdk1.3/CHANGES.txt
    xmlbeans/branches/1.x-jdk1.3/README.txt
    xmlbeans/branches/1.x-jdk1.3/build.xml
    xmlbeans/branches/1.x-jdk1.3/docs/guide/antXmlbean.html
    xmlbeans/branches/1.x-jdk1.3/src/common/org/apache/xmlbeans/impl/common/SequencedHashSet.java
    xmlbeans/branches/1.x-jdk1.3/src/configschema/schema/xmlconfig.xsd
    xmlbeans/branches/1.x-jdk1.3/src/repackage/repackage/Repackager.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
    xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java
    xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java
    xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/EnumTests.java
    xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/ValidationTests.java
    xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xsdconfig
    xmlbeans/branches/1.x-jdk1.3/xkit/README.txt

Modified: xmlbeans/branches/1.x-jdk1.3/CHANGES.txt
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/CHANGES.txt?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/CHANGES.txt (original)
+++ xmlbeans/branches/1.x-jdk1.3/CHANGES.txt Tue Feb  1 15:55:34 2005
@@ -1,3 +1,24 @@
+Changes since v1.0.3:
+
+- bug fix: Fix for http://issues.apache.org/jira/browse/XMLBEANS-35 (Radu Preotiuc)
+- updated ant docs (Kevin Krouse)
+- bug fix: throw BuildException if exception happens and failonerror=true (Kevin Krouse)
+- added version api (Kevin Krouse)
+- bug fix: links in ant help docs (Kevin Krouse)
+- improved validation error message to print list missing elements (Kevin Krouse)
+- moved ..underlyingXmlObject() method from FilterXmlObject abstract class to DelegateXmlObject (Ray Birklid)
+- bug fix: XMLBEANS-62: Avoid class cast exception when compiling older schema namespace (James Stratchan)
+- bug fix: validate mixed content against fixed value constraint (Kevin Krouse)
+- bug fix: mixed content with fixed value constraint can't have element children (Kevin Krouse)
+- bug fix: XMLBEANS-54: fixed totalDigits facet for xs:integer (Kevin Krouse)
+- add option to pass in "##local" to -allowmdef (Ray Birklid/Radu Preotiuc)
+- uriprefix option to the .xsdconfig files. (Kevin Krouse)
+- bug fix: Fixed JavaQNameHolder - pretty namesapce manager (Eric Vasilik)
+- Added maven files in default recommneded locations. (Dutta Satadip/Joseph Hindsley)
+- Vaidation optimization for JIRA bug XMLBEANS-37. (Cezar Andrei)
+- bug fix: Remove anonymous type from list if it has minOccurs = maxOccurs = 0 (Kevin Krouse)
+
+
 Changes since v1.0.2:
 
 - interface extension (Cezar Andrei)
@@ -8,4 +29,4 @@
 - fixed an NPE in the Validator (Cezar Andrei)
 - perf improvement when using List.toArray() by passing in
     an array of right size (Kevin Krouse)
-- fixed memory leak in CursorData (Cid Dennis/Kevin Krouse)
\ No newline at end of file
+- fixed memory leak in CursorData (Cid Dennis/Kevin Krouse)

Copied: xmlbeans/branches/1.x-jdk1.3/LICENSE.txt (from r149449, xmlbeans/branches/1.x/LICENSE.txt)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/LICENSE.txt?view=diff&rev=149465&p1=xmlbeans/branches/1.x/LICENSE.txt&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/LICENSE.txt&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/LICENSE.txt
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/LICENSE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/LICENSE.txt
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/NOTICE.txt (from r149449, xmlbeans/branches/1.x/NOTICE.txt)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/NOTICE.txt?view=diff&rev=149465&p1=xmlbeans/branches/1.x/NOTICE.txt&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/NOTICE.txt&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/NOTICE.txt
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/NOTICE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/NOTICE.txt
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xmlbeans/branches/1.x-jdk1.3/README.txt
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/README.txt?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/README.txt (original)
+++ xmlbeans/branches/1.x-jdk1.3/README.txt Tue Feb  1 15:55:34 2005
@@ -2,16 +2,6 @@
 
 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:

Modified: xmlbeans/branches/1.x-jdk1.3/build.xml
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/build.xml?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/build.xml (original)
+++ xmlbeans/branches/1.x-jdk1.3/build.xml Tue Feb  1 15:55:34 2005
@@ -117,6 +117,7 @@
         <classpath>
           <pathelement location="build/ar/xbean.jar" />
           <pathelement location="external/lib/junit.jar"/>
+          <pathelement location="build/lib/xml-apis.jar"/>
           <fileset refid="extension.jars"/>
           <pathelement location="build/test/extensionsuse"/>
         </classpath>
@@ -651,8 +652,8 @@
 
   <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"/>
+     <delete file="build/private/xmlbeans-${product.version}.zip"/>
+     <delete file="build/private/xmlbeans-${product.version}.tgz"/>
 
      <mkdir dir="build/private/xmlbeans-${product.version}"/>
      <copy todir="build/private/xmlbeans-${product.version}">
@@ -687,7 +688,7 @@
 
      <chmod dir="build/private/xmlbeans-${product.version}/bin" perm="ugo+rx" includes="**" />
 
-     <zip destfile="build/private/incubating-xmlbeans-${product.version}.zip"
+     <zip destfile="build/private/xmlbeans-${product.version}.zip"
           basedir="build/private"
           includes="xmlbeans-${product.version}/**"
           excludes="xmlbeans-${product.version}/bin/dumpxsb, 
@@ -697,7 +698,7 @@
          <zipfileset dir="." includes="src/license/NOTICE.txt" fullpath="xmlbeans-${product.version}/NOTICE.txt"/>
          <zipfileset dir="build/private/xmlbeans-${product.version}/bin" includes="dumpxsb, scomp, validate" prefix="xmlbeans-${product.version}/bin" filemode="755"/>
      </zip>
-     <tar destfile="build/private/incubating-xmlbeans-${product.version}.tgz"
+     <tar destfile="build/private/xmlbeans-${product.version}.tgz"
           basedir="build/private"
           includes="xmlbeans-${product.version}/**"
           excludes="xmlbeans-${product.version}/bin/dumpxsb, 
@@ -711,10 +712,10 @@
   </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"/>
+     <delete file="build/private/xmlbeans-${product.version}-src.zip"/>
+     <delete file="build/private/xmlbeans-${product.version}-src.tgz"/>
 
-     <zip destfile="build/private/incubating-xmlbeans-${product.version}-src.zip">
+     <zip destfile="build/private/xmlbeans-${product.version}-src.zip">
      	<zipfileset
      		dir="."
        		includes="**"
@@ -725,7 +726,7 @@
          <zipfileset dir="." includes="src/license/NOTICE.txt" fullpath="xmlbeans-${product.version}/NOTICE.txt"/>
          <zipfileset dir="bin" includes="dumpxsb, scomp, validate" prefix="xmlbeans-${product.version}/bin" filemode="755"/>
      </zip>
-     <tar destfile="build/private/incubating-xmlbeans-${product.version}-src.tgz"
+     <tar destfile="build/private/xmlbeans-${product.version}-src.tgz"
 	 	  compression="gzip">
      	<tarfileset
      		dir="."

Modified: xmlbeans/branches/1.x-jdk1.3/docs/guide/antXmlbean.html
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/docs/guide/antXmlbean.html?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/docs/guide/antXmlbean.html (original)
+++ xmlbeans/branches/1.x-jdk1.3/docs/guide/antXmlbean.html Tue Feb  1 15:55:34 2005
@@ -47,8 +47,8 @@
     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 XMLBeans developer kit at <a
+ href="http://xmlbeans.apache.org/" target="_blank">http://xmlbeans.apache.org/</a>.
     The build script will need to include a taskdef for xmlbean, which could look
     like this:</p>
 </div>
@@ -109,25 +109,6 @@
         <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>
@@ -266,6 +247,39 @@
         <td align="center" valign="top">No</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">quiet<br> </td>
+        <td valign="top">Controls the amount of build message output.<br> </td>
+        <td valign="top" align="center">No, default is false.</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">noupa</td>
+        <td valign="top">Do not enforce the unique particle attribution rule.<br> </td>
+        <td align="center" valign="top">No, default is false.</td>
+      </tr>
+        <td valign="top">nopvr</td>
+        <td valign="top">Do not enforce the particle valid (restriction) rule.<br> </td>
+        <td align="center" valign="top">No, default is false.</td>
+      </tr>
+      <tr>
         <td valign="top">ignoreDuplicatesInNamespaces</td>
         <td valign="top">Comma separated list of one or more namespaces
         in which duplicate definitions are to be ignored.
@@ -278,7 +292,7 @@
 </div>
 <div id=topictext> Be sure to define the task in your script, like this:</div>
 <div>
-  <pre>&lt;taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="path/to/xbean.jar"</pre>
+  <pre>&lt;taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="path/to/xbean.jar" /&gt;</pre>
   <p>The following builds all the schemas in the schemas directory and creates
     a jar called &quot;Schemas.jar&quot;.</p>
 </div>

Copied: xmlbeans/branches/1.x-jdk1.3/plugin.jelly (from r149449, xmlbeans/branches/1.x/plugin.jelly)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/plugin.jelly?view=diff&rev=149465&p1=xmlbeans/branches/1.x/plugin.jelly&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/plugin.jelly&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.jelly
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.jelly
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.jelly
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/plugin.properties (from r149449, xmlbeans/branches/1.x/plugin.properties)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/plugin.properties?view=diff&rev=149465&p1=xmlbeans/branches/1.x/plugin.properties&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/plugin.properties&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.properties
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/plugin.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/project.properties (from r149449, xmlbeans/branches/1.x/project.properties)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/project.properties?view=diff&rev=149465&p1=xmlbeans/branches/1.x/project.properties&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/project.properties&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/project.properties
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/project.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/project.properties
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/project.xml (from r149449, xmlbeans/branches/1.x/project.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/project.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/project.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/project.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/project.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/project.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/project.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xmlbeans/branches/1.x-jdk1.3/src/common/org/apache/xmlbeans/impl/common/SequencedHashSet.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/common/org/apache/xmlbeans/impl/common/SequencedHashSet.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/common/org/apache/xmlbeans/impl/common/SequencedHashSet.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/common/org/apache/xmlbeans/impl/common/SequencedHashSet.java Tue Feb  1 15:55:34 2005
@@ -141,53 +141,4 @@
         return set;
     }
 
-    /*
-     * Save the state of this <tt>SequencedHashSet</tt> instance to a stream.
-     *
-     * @serialData The size of the backing <tt>SequencedHashMap</tt> instance
-     *             (int), and its load factor (float) are emitted, followed by
-     *             the size of the set (the number of elements it contains)
-     *             (int), followed by all of its elements (each an Object) in
-     *             no particular order.
-    private synchronized void writeObject(java.io.ObjectOutputStream s)
-        throws java.io.IOException
-    {
-        // Write out any hidden serialization magic
-        s.defaultWriteObject();
-
-        // Write out size
-        s.writeInt(map.size());
-
-        // Write out all elements in the proper order.
-        for (Iterator i=map.keySet().iterator(); i.hasNext(); )
-            s.writeObject(i.next());
-    }
-     */
-
-    /*
-     * Reconstitute the <tt>HashSet</tt> instance from a stream (that is,
-     * deserialize it).
-    private synchronized void readObject(java.io.ObjectInputStream s)
-        throws java.io.IOException, ClassNotFoundException {
-        // Read in any hidden serialization magic
-        s.defaultReadObject();
-
-        // Read in HashMap capacity and load factor and create backing HashMap
-        //int capacity = s.readInt();
-        //float loadFactor = s.readFloat();
-        //map = new SequencedHashMap(capacity, loadFactor);
-
-        // Read in size
-        int size = s.readInt();
-        map = new SequencedHashMap(size);
-
-        // Read in all elements in the proper order.
-        for (int i=0; i < size; i++)
-        {
-            Object e = s.readObject();
-            map.put(e, EXISTS);
-        }
-        throw new RuntimeException("readObject in SequencedHashSet");
-    }
-     */
 }

Modified: xmlbeans/branches/1.x-jdk1.3/src/configschema/schema/xmlconfig.xsd
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/configschema/schema/xmlconfig.xsd?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/configschema/schema/xmlconfig.xsd (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/configschema/schema/xmlconfig.xsd Tue Feb  1 15:55:34 2005
@@ -106,6 +106,14 @@
       </xs:annotation>
     </xs:attribute>
 
+    <xs:attribute name="uriprefix" type="xb:namespacePrefixList">
+      <xs:annotation>
+        <xs:documentation>
+          A list of any number of namespace URIs.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+
   </xs:complexType>
 
   <xs:complexType name="qnameconfig">
@@ -113,6 +121,15 @@
     <xs:attribute name="name" type="xs:QName"/>
     <xs:attribute name="javaname" type="xs:string"/>
   </xs:complexType>
+
+  <xs:simpleType name="namespacePrefixList">
+    <xs:annotation>
+      <xs:documentation>
+        A list of namespace URIs.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:list itemType="xs:anyURI" />
+  </xs:simpleType>
 
   <xs:simpleType name="namespaceList">
     <xs:annotation>

Modified: xmlbeans/branches/1.x-jdk1.3/src/repackage/repackage/Repackager.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/repackage/repackage/Repackager.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/repackage/repackage/Repackager.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/repackage/repackage/Repackager.java Tue Feb  1 15:55:34 2005
@@ -144,4 +144,4 @@
 
     private RegularExpression[] _fromPatterns;
     private String[]  _toPackageNames;
-}
\ No newline at end of file
+}

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeImpl.java Tue Feb  1 15:55:34 2005
@@ -67,6 +67,7 @@
     private volatile SchemaField _containerField;
     private volatile int _containerFieldCode;
     private volatile int _containerFieldIndex;
+    private volatile QName[] _groupReferenceContext;
     private SchemaType.Ref[] _anonymousTyperefs;
     private boolean _isDocumentType;
     private boolean _isAttributeType;
@@ -477,6 +478,15 @@
         _containerFieldCode = code;
         _containerFieldIndex = index;
     }
+
+    /* package */ void setGroupReferenceContext(QName[] groupNames)
+    {
+        assertUnresolved();
+        _groupReferenceContext = groupNames;
+    }
+
+    /* package */ QName[] getGroupReferenceContext()
+    { return _groupReferenceContext; }
 
     public SchemaType getOuterType()
         { return _outerSchemaTypeRef == null ? null : _outerSchemaTypeRef.get(); }

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeLoaderBase.java Tue Feb  1 15:55:34 2005
@@ -35,6 +35,7 @@
 import org.apache.xmlbeans.XmlOptions;
 import org.apache.xmlbeans.XmlFactoryHook;
 import org.apache.xmlbeans.XmlRuntimeException;
+import org.apache.xmlbeans.XmlBeans;
 
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
@@ -61,7 +62,6 @@
 
 public abstract class SchemaTypeLoaderBase implements SchemaTypeLoader
 {
-    // User-Agent: XMLBeans/1.0.4-jdk1.3 (org.apache.xmlbeans)
     private static final String USER_AGENT = "XMLBeans/" + XmlBeans.getVersion() + " (" + XmlBeans.getTitle() + ")";
 
     private static final Method _rootBuilder = getMethod( "org.apache.xmlbeans.impl.store.Root", "newStore", new Class[] { SchemaTypeLoader.class, SchemaType.class, XmlOptions.class } );

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeVisitorImpl.java Tue Feb  1 15:55:34 2005
@@ -318,8 +318,25 @@
         if (!prepare())
             return notValid();
 
+        // init with some values out of processedChildCount and stackSize range
+        int lastAtProcessedChildCount = -2;
+        int lastAtStackSize = -2;
+
         traversing: for (;;)
         {
+            //  optimization for cases where state doesn't change between _top._curMin and _top._curMax
+            //  check for state change        see JIRA bug XMLBEANS-37
+            if (_top._curCount>_top._curMin &&
+                lastAtProcessedChildCount==_top._processedChildCount &&
+                lastAtStackSize==_stackSize)
+            {
+                _top._curCount = _top._curMax;
+            }
+
+            // save state
+            lastAtProcessedChildCount = _top._processedChildCount;
+            lastAtStackSize = _stackSize;
+
             while (_top._curCount >= _top._curMax)
             {
                 if (!pop())
@@ -371,8 +388,10 @@
                     }
                     _top._curCount++;
                     _top._processedChildCount = 0;
+
                     continue traversing;
 
+
                 case SchemaParticle.CHOICE:
                     for (int i = 0; i < _top._childCount; i++)
                     {
@@ -471,7 +490,7 @@
     public SchemaField get_schema_field() {
         if (currentParticle() instanceof SchemaField)
             return (SchemaField)currentParticle();
-        
+
         return null;
     }
 

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java Tue Feb  1 15:55:34 2005
@@ -27,6 +27,7 @@
 import org.apache.xmlbeans.XmlID;
 import org.apache.xmlbeans.XmlAnySimpleType;
 import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.XmlString;
 import org.apache.xmlbeans.impl.common.XmlErrorContext;
 import org.apache.xmlbeans.impl.common.XBeanDebug;
 import org.apache.xmlbeans.impl.common.QNameHelper;
@@ -167,6 +168,27 @@
                                 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.MIXED_CONTENT)
+                    {
+                        if (!model.getType().getContentModel().isSkippable())
+                        {
+                            String constraintName = (model.isFixed() ? "fixed" : "default");
+
+                            StscState.get().error("The " + QNameHelper.pretty(model.getName()) + " element cannot have a " +
+                                    constraintName + " value '" + valueConstraint + "' because it's content is mixed " +
+                                    "but not emptiable.", XmlErrorContext.GENERIC_ERROR, location);
+                        }
+                        else
+                        {
+                            // Element Default Valid (Immediate): cos-valid-default.2.2.2
+                            // no need to validate the value; type is a xs:string
+                            SchemaPropertyImpl sProp = (SchemaPropertyImpl)parentType.getElementProperty(model.getName());
+                            if (sProp != null && sProp.getDefaultText() != null)
+                            {
+                                sProp.setDefaultValue(new XmlValueRef(XmlString.type.newValue(valueConstraint)));
+                            }
                         }
                     }
                     else if (model.getType().getContentType() == SchemaType.ELEMENT_CONTENT)

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscComplexTypeResolver.java Tue Feb  1 15:55:34 2005
@@ -892,7 +892,7 @@
                                 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());
+                                        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);
                                     
                                     if (sAttr.getUse() == SchemaLocalAttribute.PROHIBITED)
                                         result.removeProhibitedAttribute(sAttr.getName());
@@ -1258,6 +1258,8 @@
 
         if (maxOccurs != null && maxOccurs.compareTo(BigInteger.ONE) < 0)
         {
+            // remove from list of anonymous types if it was added
+            anonymousTypes.remove(sPart.getType());
             return null; // maxOccurs == minOccurs == 0, same as no particle at all.
         }
 

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java Tue Feb  1 15:55:34 2005
@@ -34,6 +34,8 @@
 import org.apache.xmlbeans.XmlShort;
 import org.apache.xmlbeans.XmlUnsignedByte;
 import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.XmlPositiveInteger;
+import org.apache.xmlbeans.XmlNonNegativeInteger;
 import org.w3.x2001.xmlSchema.*;
 
 public class StscSimpleTypeResolver
@@ -709,12 +711,10 @@
                         break;
 
                     case SchemaType.FACET_TOTAL_DIGITS:
-                    case SchemaType.FACET_FRACTION_DIGITS:
-                        boolean istotaldig = (code == SchemaType.FACET_TOTAL_DIGITS);
-                        XmlInteger dig = StscTranslator.buildNnInteger(facet.getValue());
+                        XmlPositiveInteger dig = StscTranslator.buildPosInteger(facet.getValue());
                         if (dig == null)
                         {
-                            state.error("Must be a nonnegative integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
+                            state.error("Must be a positive integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
                             break;
                         }
                         if (fixedFacets[code] && !myFacets[code].valueEquals(dig))
@@ -727,12 +727,27 @@
                             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)
+                        myFacets[code] = dig;
+                        break;
+
+                    case SchemaType.FACET_FRACTION_DIGITS:
+                        XmlNonNegativeInteger fdig = StscTranslator.buildNnInteger(facet.getValue());
+                        if (fdig == null)
                         {
-                            if (dig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0)
+                            state.error("Must be a nonnegative integer", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
+                            break;
+                        }
+                        if (fixedFacets[code] && !myFacets[code].valueEquals(fdig))
+                        {
+                            state.error("This facet is fixed and cannot be overridden", XmlErrorContext.FACET_FIXED, facet);
+                            continue;
+                        }
+                        if (myFacets[SchemaType.FACET_FRACTION_DIGITS] != null)
+                        {
+                            if (fdig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0)
                                 state.error("Larger than prior fractionDigits", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
                         }
-                        myFacets[code] = dig;
+                        myFacets[code] = fdig;
                         break;
 
                     case SchemaType.FACET_MIN_EXCLUSIVE:

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java Tue Feb  1 15:55:34 2005
@@ -74,7 +74,7 @@
     private Map _attributeTypes     = new SequencedHashMap();
     private Map _typesByClassname   = new SequencedHashMap();
     private Map _misspelledNames    = new HashMap();
-    private Set _processingGroups   = new HashSet();
+    private Set _processingGroups   = new SequencedHashSet();
     private Map _idConstraints      = new SequencedHashMap();
     private Set _namespaces         = new HashSet();
     private boolean _noUpa;
@@ -273,7 +273,17 @@
             _doingDownloads = true;
         
         if (options.hasOption(XmlOptions.COMPILE_MDEF_NAMESPACES))
+        {
             _mdefNamespaces.addAll((Collection)options.get(XmlOptions.COMPILE_MDEF_NAMESPACES));
+            
+            String local = "##local";
+            
+            if (_mdefNamespaces.contains(local))
+            {
+                _mdefNamespaces.remove(local);
+                _mdefNamespaces.add("");
+            }
+        }
     }
     
     /**
@@ -743,6 +753,11 @@
         if (XmlBeans.ASSERTS)
             XmlBeans.assertTrue(_processingGroups.contains(obj));
         _processingGroups.remove(obj);
+    }
+
+    Object[] getCurrentProcessing()
+    {
+        return _processingGroups.toArray();
     }
 
     /* JAVAIZATION ====================================================*/

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/schema/StscTranslator.java Tue Feb  1 15:55:34 2005
@@ -30,6 +30,8 @@
 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.values.XmlPositiveIntegerImpl;
+import org.apache.xmlbeans.impl.values.XmlNonNegativeIntegerImpl;
 import org.apache.xmlbeans.impl.regex.RegularExpression;
 import org.apache.xmlbeans.soap.SOAPArrayType;
 import org.apache.xmlbeans.XmlObject;
@@ -46,6 +48,8 @@
 import org.apache.xmlbeans.XmlAnySimpleType;
 import org.apache.xmlbeans.XmlInteger;
 import org.apache.xmlbeans.XmlBeans;
+import org.apache.xmlbeans.XmlNonNegativeInteger;
+import org.apache.xmlbeans.XmlPositiveInteger;
 
 import javax.xml.namespace.QName;
 
@@ -256,26 +260,26 @@
             
             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));
+                String name = (String)i.next();
+                state.error("Redefined simple type " + 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));
+                String name = (String)i.next();
+                state.error("Redefined complex type " + 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));
+                String name = (String)i.next();
+                state.error("Redefined attribute group " + 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));
+                String name = (String)i.next();
+                state.error("Redefined model group " + name + " not found in " + schemaLocation, XmlErrorContext.GENERIC_ERROR, (XmlObject)mgRedefinitions.get(name));
             }
         }
     }
@@ -615,14 +619,26 @@
 
         if (typedef != null)
         {
+            Object[] grps = state.getCurrentProcessing();
+            QName[] context = new QName[grps.length];
+            for (int i = 0; i < context.length; i++)
+                if (grps[i] instanceof SchemaModelGroupImpl)
+                    context[i] = ((SchemaModelGroupImpl ) grps[i]).getName();
+            SchemaType repeat = checkRecursiveGroupReference(context, qname, (SchemaTypeImpl)outerType);
+            if (repeat != null)
+                sType = repeat;
+            else
+            {
             SchemaTypeImpl sTypeImpl = new SchemaTypeImpl(state.sts());
             sType = sTypeImpl;
             sTypeImpl.setContainerField(impl);
             sTypeImpl.setOuterSchemaTypeRef(outerType == null ? null : outerType.getRef());
+            sTypeImpl.setGroupReferenceContext(context);
             // 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)
@@ -742,6 +758,62 @@
         return impl;
     }
     
+    /**
+     * We need to do this because of the following kind of Schemas:
+     * <xs:group name="e">
+     *     <xs:sequence>
+     *         <xs:element name="error">
+     *             <xs:complexType>
+     *                 <xs:group ref="e"/>
+     *             </xs:complexType>
+     *         </xs:element>
+     *     </xs:sequence>
+     * </xs:group>
+     * (see JIRA bug XMLBEANS-35)
+     * Even though this should not be allowed because it produces an infinite
+     * number of anonymous types and local elements nested within each other,
+     * the de facto consensus among Schema processors is that this should be
+     * valid, therefore we have to detect this situation and "patch up" the
+     * Schema object model so that instead of creating a new anonymous type,
+     * we refer to the one that was already created earlier.
+     * In order to accomplish that, we store inside every anonymous type the
+     * list of groups that were dereferenced at the moment the type was created
+     * and if the same pattern is about to repeat, it means that we are in a
+     * case similar to the above.
+     */
+    private static SchemaType checkRecursiveGroupReference(QName[] context, QName containingElement, SchemaTypeImpl outerType)
+    {
+        if (context.length < 1)
+            return null;
+        SchemaTypeImpl type = outerType;
+
+        while (type != null)
+        {
+            if (type.getName() != null || type.isDocumentType())
+                return null; // not anonymous
+            if (containingElement.equals(type.getContainerField().getName()))
+            {
+                QName[] outerContext = type.getGroupReferenceContext();
+                if (outerContext != null && outerContext.length == context.length)
+                {
+                    // Smells like trouble
+                    boolean equal = true;
+                    for (int i = 0; i < context.length; i++)
+                        if (!(context[i] == null && outerContext[i] == null ||
+                              context[i] != null && context[i].equals(outerContext[i])))
+                        {
+                            equal = false;
+                            break;
+                        }
+                    if (equal)
+                        return type;
+                }
+            }
+            type = (SchemaTypeImpl) type.getOuterType();
+        }
+        return null;
+    }
+
     private static String removeWhitespace(String xpath)
     {
         StringBuffer sb = new StringBuffer();
@@ -1076,7 +1148,7 @@
         return SchemaLocalAttribute.OPTIONAL;
     }
 
-    static XmlInteger buildNnInteger(XmlAnySimpleType value)
+    static BigInteger buildBigInt(XmlAnySimpleType value)
     {
         if (value == null)
             return null;
@@ -1097,9 +1169,34 @@
             StscState.get().error("Must be nonnegative integer", XmlErrorContext.MALFORMED_NUMBER, value);
             return null;
         }
+
+        return bigInt;
+    }
+
+
+    static XmlNonNegativeInteger buildNnInteger(XmlAnySimpleType value)
+    {
+        BigInteger bigInt = buildBigInt(value);
+        try
+        {
+            XmlNonNegativeIntegerImpl i = new XmlNonNegativeIntegerImpl();
+            i.set(bigInt);
+            i.setImmutable();
+            return i;
+        }
+        catch (XmlValueOutOfRangeException e)
+        {
+            StscState.get().error("Internal error processing number", XmlErrorContext.MALFORMED_NUMBER, value);
+            return null;
+        }
+    }
+
+    static XmlPositiveInteger buildPosInteger(XmlAnySimpleType value)
+    {
+        BigInteger bigInt = buildBigInt(value);
         try
         {
-            XmlIntegerImpl i = new XmlIntegerImpl();
+            XmlPositiveIntegerImpl i = new XmlPositiveIntegerImpl();
             i.set(bigInt);
             i.setImmutable();
             return i;

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/validator/Validator.java Tue Feb  1 15:55:34 2005
@@ -58,13 +58,16 @@
 import org.apache.xmlbeans.XmlOptions;
 import org.apache.xmlbeans.SimpleValue;
 import org.apache.xmlbeans.SchemaProperty;
+import org.apache.xmlbeans.XmlString;
 
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Iterator;
 import javax.xml.namespace.QName;
 
 public final class Validator
@@ -227,6 +230,11 @@
                 return;
             }
 
+            if (!state._isNil && state._field != null && state._field.isFixed())
+            {
+                emitFieldError(event, "Element '" + QNameHelper.pretty(state._field.getName()) + "' is fixed and not nil so is not allowed to have element children.");
+            }
+
             if (!state.visit( name ))
             {
                 message = findDetailedErrorBegin(state , name);
@@ -759,6 +767,19 @@
 
                 _constraintEngine.text( event, state._type, value, false );
             }
+            else if (state._canHaveMixedContent)
+            {
+                // handles cvc-elt.5.2.2.2.1, checking mixed content against fixed.
+                // if we see <mixedType>a</b>c</mixedType>, we validate against
+                // the first 'a' text and we check the content of mixedType to
+                // be empty in beginElem().  we don't care about checking against
+                // the 'c' text since there will already be an error for <b/>
+                String value =
+                    validateSimpleType(
+                        XmlString.type, field, event, emptyContent, true );
+
+                _constraintEngine.text( event, XmlString.type, value, false );
+            }
             else if (emptyContent)
             {
                 _constraintEngine.text( event, state._type, null, true );
@@ -768,7 +789,7 @@
         }
 
         if (!emptyContent && !state._canHaveMixedContent && 
-            !event.textIsWhitespace() & !state._hasSimpleContent)
+            !event.textIsWhitespace() && !state._hasSimpleContent)
         {
             if (field instanceof SchemaLocalElement) 
             {
@@ -788,6 +809,9 @@
         String message = null;
         SchemaProperty[] eltProperties = state._type.getElementProperties();
 
+        ArrayList expectedNames = new ArrayList();
+        ArrayList optionalNames = new ArrayList();
+
         for (int ii = 0; ii < eltProperties.length; ii++)
         {
             //Get the element from the schema
@@ -796,10 +820,28 @@
             // test if the element is valid
             if (state.test(sProp.getName()))
             {
-                message = "Expected element " + QNameHelper.pretty(sProp.getName()) + " instead of " + QNameHelper.pretty(qName) + " here";
-                break;
+                if (0 == BigInteger.ZERO.compareTo(sProp.getMinOccurs()))
+                    optionalNames.add(sProp.getName());
+                else
+                    expectedNames.add(sProp.getName());
+            }
+        }
+
+        List names = (expectedNames.size() > 0 ? expectedNames : optionalNames);
+
+        if (names.size() > 0)
+        {
+            StringBuffer buf = new StringBuffer();
+            for (Iterator iter = names.iterator(); iter.hasNext(); )
+            {
+                buf.append(QNameHelper.pretty((QName)iter.next()));
+                buf.append(" ");
             }
+
+            message = "Expected element" + (names.size()>1 ? "s " : " ") +
+                      buf.toString() + "at the end of the content";
         }
+
         return message;
     }
 
@@ -808,6 +850,9 @@
         SchemaProperty[] eltProperties  = state._type.getElementProperties();
         String message = null;
 
+        ArrayList expectedNames = new ArrayList();
+        ArrayList optionalNames = new ArrayList();
+
         for (int ii = 0; ii < eltProperties.length; ii++)
         {
             //Get the element from the schema
@@ -816,11 +861,28 @@
             // test if the element is valid
             if (state.test(sProp.getName()))
             {
-                message = "Expected element " + QNameHelper.pretty(sProp.getName()) +
-                          " at the end of the content";
-                break;
+                if (0 == BigInteger.ZERO.compareTo(sProp.getMinOccurs()))
+                    optionalNames.add(sProp.getName());
+                else
+                    expectedNames.add(sProp.getName());
+            }
+        }
+
+        List names = (expectedNames.size() > 0 ? expectedNames : optionalNames);
+
+        if (names.size() > 0)
+        {
+            StringBuffer buf = new StringBuffer();
+            for (Iterator iter = names.iterator(); iter.hasNext(); )
+            {
+                buf.append(QNameHelper.pretty((QName)iter.next()));
+                buf.append(" ");
             }
+
+            message = "Expected element" + (names.size()>1 ? "s " : " ") +
+                      buf.toString() + "at the end of the content";
         }
+
         return message;
     }
 

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaIntegerHolderEx.java Tue Feb  1 15:55:34 2005
@@ -19,7 +19,7 @@
 
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.SchemaType;
-import org.apache.xmlbeans.XmlInt;
+import org.apache.xmlbeans.XmlPositiveInteger;
 import org.apache.xmlbeans.impl.common.ValidationContext;
 import org.apache.xmlbeans.impl.common.QNameHelper;
 
@@ -72,18 +72,18 @@
     private static void validateValue(BigInteger v, SchemaType sType, ValidationContext context)
     {
         // total digits
-        XmlInt td = (XmlInt)sType.getFacet(SchemaType.FACET_TOTAL_DIGITS);
+        XmlPositiveInteger td = (XmlPositiveInteger)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())
+            if (len > td.getBigIntegerValue().intValue())
             {
                 context.invalid(
                     "Integer total digits (" + temp + ") is greater than " +
-                        "total digits facet (" + td.getIntValue() + ") for " + QNameHelper.readable(sType));
+                        "total digits facet (" + td.getBigIntegerValue().intValue() + ") for " + QNameHelper.readable(sType));
                 return;
             }
         }

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java Tue Feb  1 15:55:34 2005
@@ -47,11 +47,11 @@
     {
         public String find_prefix_for_nsuri(String nsuri, String suggested_prefix)
         {
-            return QNameHelper.suggestPrefix(suggested_prefix);
+            return QNameHelper.suggestPrefix(nsuri);
         }
         public String getNamespaceForPrefix(String prefix)
         {
-            return prefix;
+            throw new RuntimeException( "Should not be called" );
         }
     }
 

Modified: xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/typeimpl/org/apache/xmlbeans/impl/values/XmlObjectBase.java Tue Feb  1 15:55:34 2005
@@ -72,6 +72,7 @@
 import org.apache.xmlbeans.XmlError;
 import org.apache.xmlbeans.SchemaLocalAttribute;
 import org.apache.xmlbeans.FilterXmlObject;
+import org.apache.xmlbeans.DelegateXmlObject;
 
 import org.w3c.dom.Node;
 
@@ -97,11 +98,11 @@
             return null;
         if (obj instanceof XmlObjectBase)
             return (XmlObjectBase)obj;
-        while (obj instanceof FilterXmlObject)
-            obj = ((FilterXmlObject)obj).underlyingXmlObject();
+        while (obj instanceof DelegateXmlObject)
+            obj = ((DelegateXmlObject)obj).underlyingXmlObject();
         if (obj instanceof XmlObjectBase)
             return (XmlObjectBase)obj;
-        throw new IllegalStateException("Non-native implementations of XmlObject should extend FilterXmlObject");
+        throw new IllegalStateException("Non-native implementations of XmlObject should extend FilterXmlObject or implement DelegateXmlObject");
     }
 
     public final XmlObject copy()

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/BaseSchemaResourceManager.java Tue Feb  1 15:55:34 2005
@@ -46,7 +46,6 @@
 
 public abstract class BaseSchemaResourceManager extends SchemaImportResolver
 {
-    // User-Agent: XMLBeans/1.0.4-jdk1.3 (org.apache.xmlbeans)
     private static final String USER_AGENT = "XMLBeans/" + XmlBeans.getVersion() + " (" + XmlBeans.getTitle() + ")";
 
     private String _defaultCopyDirectory;

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCodeGenerator.java Tue Feb  1 15:55:34 2005
@@ -296,9 +296,10 @@
         {
             if (dir.isDirectory())
             {
-                String[] list = dir.list();
-                for (int i = 0; i < list.length; i++)
-                    tryToDelete(new File(dir, list[i]));
+                String[] list = dir.list(); // can return null if I/O error
+                if (list != null)
+                    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

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/SchemaCompiler.java Tue Feb  1 15:55:34 2005
@@ -652,14 +652,22 @@
                         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");
+                            XmlObject[] schemas = types[j].selectPath("declare namespace xs=\"http://www.w3.org/2001/XMLSchema\" xs:schema");
+                            if (schemas.length == 0)
+                            {
+                                StscState.addWarning(errorListener, "The WSDL " + wsdlFiles[i] + " did not have any schema documents in namespace 'http://www.w3.org/2001/XMLSchema'", XmlErrorContext.GENERIC_ERROR, wsdldoc);
+                                continue;
+                            }
+
                             for (int k = 0; k < schemas.length; k++)
                             {
-                                if (schemas[k].validate(new XmlOptions().setErrorListener(errorListener)))
+                                if (schemas[k] instanceof SchemaDocument.Schema &&
+                                    schemas[k].validate(new XmlOptions().setErrorListener(errorListener)))
+                                {
+                                    count++;
                                     scontentlist.add(schemas[k]);
+                                }
                             }
-                            count += schemas.length;
                         }
                         StscState.addInfo(errorListener, "Processing " + count + " schema(s) in " + wsdlFiles[i].toString());
                     }

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlcomp/org/apache/xmlbeans/impl/tool/XMLBean.java Tue Feb  1 15:55:34 2005
@@ -65,6 +65,8 @@
                         optimize,
                         download,
                         srconly,
+                        noupa,
+                        nopvr,
                         failonerror = true,
                         fork = true,
                         includeAntRuntime = true,
@@ -222,6 +224,8 @@
             params.setExtensions(extensions);
             params.setErrorListener(err);
             params.setMdefNamespaces(mdefnamespaces);
+            params.setNoUpa(noupa);
+            params.setNoPvr(nopvr);
             success = SchemaCompiler.compile(params);
 
             if (success && !srconly) {
@@ -673,6 +677,32 @@
     public void setMemoryMaximumSize(String memoryMaximumSize)
     {
         this.memoryMaximumSize = memoryMaximumSize;
+    }
+
+    /**
+     * Do not enforce the unique particle attribution rule.
+     */
+    public void setNoUpa(boolean noupa)
+    {
+        this.noupa = noupa;
+    }
+
+    public boolean isNoUpa()
+    {
+        return noupa;
+    }
+
+    /**
+     * Do not enforce the particle valid (restriction) rule.
+     */
+    public void setNoPvr(boolean nopvr)
+    {
+        this.nopvr = nopvr;
+    }
+
+    public boolean isNoPvr()
+    {
+        return nopvr;
     }
 
     private URL urlFromFile(File f)

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlconfig/org/apache/xmlbeans/impl/config/SchemaConfig.java Tue Feb  1 15:55:34 2005
@@ -35,6 +35,9 @@
     private Map _packageMap;
     private Map _prefixMap;
     private Map _suffixMap;
+    private Map _packageMapByUriPrefix; // uri prefix -> package
+    private Map _prefixMapByUriPrefix;  // uri prefix -> name prefix
+    private Map _suffixMapByUriPrefix;  // uri prefix -> name suffix
     private Map _qnameMap;
     private ExtensionHolder _extensionHolder;
 
@@ -43,6 +46,9 @@
         _packageMap = Collections.EMPTY_MAP;
         _prefixMap = Collections.EMPTY_MAP;
         _suffixMap = Collections.EMPTY_MAP;
+        _packageMapByUriPrefix = Collections.EMPTY_MAP;
+        _prefixMapByUriPrefix = Collections.EMPTY_MAP;
+        _suffixMapByUriPrefix = Collections.EMPTY_MAP;
         _qnameMap = Collections.EMPTY_MAP;
         _extensionHolder = null;
     }
@@ -57,6 +63,9 @@
         _packageMap = new SequencedHashMap();
         _prefixMap = new SequencedHashMap();
         _suffixMap = new SequencedHashMap();
+        _packageMapByUriPrefix = new SequencedHashMap();
+        _prefixMapByUriPrefix = new SequencedHashMap();
+        _suffixMapByUriPrefix = new SequencedHashMap();
         _qnameMap = new SequencedHashMap();
         _extensionHolder = new ExtensionHolder();
 
@@ -69,6 +78,9 @@
                 recordNamespaceSetting(nsa[j].getUri(), nsa[j].getPackage(), _packageMap);
                 recordNamespaceSetting(nsa[j].getUri(), nsa[j].getPrefix(), _prefixMap);
                 recordNamespaceSetting(nsa[j].getUri(), nsa[j].getSuffix(), _suffixMap);
+                recordNamespacePrefixSetting(nsa[j].getUriprefix(), nsa[j].getPackage(), _packageMapByUriPrefix);
+                recordNamespacePrefixSetting(nsa[j].getUriprefix(), nsa[j].getPrefix(), _prefixMapByUriPrefix);
+                recordNamespacePrefixSetting(nsa[j].getUriprefix(), nsa[j].getSuffix(), _suffixMapByUriPrefix);
             }
             
             Qnameconfig[] qnc = config.getQnameArray();
@@ -108,6 +120,18 @@
         }
     }
 
+    private static void recordNamespacePrefixSetting(List list, String value, Map result)
+    {
+        if (value == null)
+            return;
+        else if (list == null)
+            return;
+        for (Iterator i = list.iterator(); i.hasNext(); )
+        {
+            result.put(i.next(), value);
+        }
+    }
+
     private void recordExtensionSetting(Extensionconfig ext)
     {
         NameSet xbeanSet = null;
@@ -141,16 +165,46 @@
     }
 
 
-    private String lookup(Map map, String uri)
+    private String lookup(Map map, Map mapByUriPrefix, String uri)
     {
         if (uri == null)
             uri = "";
         String result = (String)map.get(uri);
         if (result != null)
             return result;
+        if (mapByUriPrefix != null)
+        {
+            result = lookupByUriPrefix(mapByUriPrefix, uri);
+            if (result != null)
+                return result;
+        }
+
         return (String)map.get("##any");
     }
 
+    private String lookupByUriPrefix(Map mapByUriPrefix, String uri)
+    {
+        if (uri == null)
+            return null;
+        if (!mapByUriPrefix.isEmpty())
+        {
+            String uriprefix = null;
+            Iterator i = mapByUriPrefix.keySet().iterator();
+            while (i.hasNext())
+            {
+                String nextprefix = (String)i.next();
+                if (uriprefix != null && nextprefix.length() < uriprefix.length())
+                    continue;
+                if (uri.startsWith(nextprefix))
+                    uriprefix = nextprefix;
+            }
+
+            if (uriprefix != null)
+                return (String)mapByUriPrefix.get(uriprefix);
+        }
+        return null;
+    }
+
     //package methods
     static void warning(String s, XmlObject xo)
     {
@@ -165,17 +219,17 @@
     //public methods
     public String lookupPackageForNamespace(String uri)
     {
-        return lookup(_packageMap, uri);
+        return lookup(_packageMap, _packageMapByUriPrefix, uri);
     }
 
     public String lookupPrefixForNamespace(String uri)
     {
-        return lookup(_prefixMap, uri);
+        return lookup(_prefixMap, _prefixMapByUriPrefix, uri);
     }
 
     public String lookupSuffixForNamespace(String uri)
     {
-        return lookup(_suffixMap, uri);
+        return lookup(_suffixMap, _suffixMapByUriPrefix, uri);
     }
 
     public String lookupJavanameForQName(QName qname)

Copied: xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java (from r149449, xmlbeans/branches/1.x/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java?view=diff&rev=149465&p1=xmlbeans/branches/1.x/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/DelegateXmlObject.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/src/xmlpublic/org/apache/xmlbeans/FilterXmlObject.java Tue Feb  1 15:55:34 2005
@@ -45,22 +45,12 @@
  * 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
+ * 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
+public abstract class FilterXmlObject implements XmlObject, SimpleValue, DelegateXmlObject
 {
-    /**
-     * 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();

Modified: xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/EnumTests.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/EnumTests.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/EnumTests.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/EnumTests.java Tue Feb  1 15:55:34 2005
@@ -20,11 +20,11 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 import org.apache.xmlbeans.XmlObject;
-import org.openuri.enumtest.StatusreportDocument;
-import org.openuri.enumtest.SalesreportDocument;
-import org.openuri.enumtest.SalesreportDocument.Salesreport.Unit;
-import org.openuri.enumtest.Quantity;
-import org.openuri.enumtest.Data;
+import com.enumtest.StatusreportDocument;
+import com.enumtest.SalesreportDocument;
+import com.enumtest.SalesreportDocument.Salesreport.Unit;
+import com.enumtest.Quantity;
+import com.enumtest.Data;
 
 public class EnumTests extends TestCase
 {

Modified: xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/ValidationTests.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/ValidationTests.java?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/ValidationTests.java (original)
+++ xmlbeans/branches/1.x-jdk1.3/test/src/drt/drtcases/ValidationTests.java Tue Feb  1 15:55:34 2005
@@ -1599,4 +1599,60 @@
         doTest(schemas, null, valid, invalid);
     }
 
+    public void testValidateNestedGroups ( )
+        throws Exception
+    {
+        // This is a weird Schema, inspired from JIRA bug XMLBEANS-35
+        // Make sure we compile it and then validate correctly
+        String schemas[] = {
+            "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://tempuri.org/f_up_groups\" xmlns:tns=\"http://tempuri.org/f_up_groups\">\n" +
+            "\n" +
+            "<xs:group name=\"d\">\n" +
+            "  <xs:sequence>\n" +
+            "      <xs:element name=\"error\">\n" +
+            "          <xs:complexType>\n" +
+            "                  <xs:group ref=\"tns:e\"/>\n" +
+            "          </xs:complexType>\n" +
+            "      </xs:element>\n" +
+            "  </xs:sequence>\n" +
+            "</xs:group>\n" +
+            "\n" +
+            "<xs:group name=\"e\">\n" +
+            "  <xs:sequence>\n" +
+            "          <xs:element name=\"error\" minOccurs=\"0\">\n" +
+            "                  <xs:complexType>\n" +
+            "                          <xs:group ref=\"tns:d\"/>\n" +
+            "                  </xs:complexType>\n" +
+            "          </xs:element>\n" +
+            "  </xs:sequence>\n" +
+            "</xs:group>\n" +
+            "\n" +
+            "<xs:element name=\"root\">\n" +
+            "  <xs:complexType>\n" +
+            "  <xs:group ref=\"tns:d\"/>\n" +
+            "  </xs:complexType>\n" +
+            "</xs:element>\n" +
+            "\n" +
+            "</xs:schema>\n"};
+
+        String valid[] = {
+            "<ns:root xmlns:ns=\"http://tempuri.org/f_up_groups\">\n" +
+            "   <error>\n" +
+            "      <error>\n" +
+            "         <error/>" +
+           "      </error>\n" +
+            "    </error>\n" +
+            "</ns:root>\n"};
+
+        String invalid[] = {
+            "<ns:root xmlns:ns=\"http://tempuri.org/f_up_groups\">\n" +
+            "   <error>\n" +
+            "      <error>\n" +
+           "      </error>\n" +
+            "    </error>\n" +
+            "</ns:root>\n"};
+
+        doTest(schemas, null, valid, invalid);
+    }
+
 }

Copied: xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml (from r149449, xmlbeans/branches/1.x/test/src/easypo/easypo.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/test/src/easypo/easypo.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xsdconfig
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xsdconfig?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xsdconfig (original)
+++ xmlbeans/branches/1.x-jdk1.3/test/src/easypo/easypo.xsdconfig Tue Feb  1 15:55:34 2005
@@ -18,8 +18,11 @@
     <xb:package>com.easypo</xb:package>
   </xb:namespace>
 
-  <xb:namespace uri="##any">
+  <xb:namespace uriprefix="http://openuri">
     <xb:prefix>Xml</xb:prefix>
+  </xb:namespace>
+
+  <xb:namespace uriprefix="http://openuri.org/easy">
     <xb:suffix>Bean</xb:suffix>
   </xb:namespace>
 

Copied: xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig (from r149449, xmlbeans/branches/1.x/test/src/enumtest/enumtest.xsdconfig)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig?view=diff&rev=149465&p1=xmlbeans/branches/1.x/test/src/enumtest/enumtest.xsdconfig&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig
------------------------------------------------------------------------------
    svn:executable = *

Propchange: xmlbeans/branches/1.x-jdk1.3/test/src/enumtest/enumtest.xsdconfig
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml (from r149449, xmlbeans/branches/1.x/xdocs/changes.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/xdocs/changes.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/changes.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml (from r149449, xmlbeans/branches/1.x/xdocs/goals.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/xdocs/goals.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/goals.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml (from r149449, xmlbeans/branches/1.x/xdocs/index.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/xdocs/index.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/index.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml (from r149449, xmlbeans/branches/1.x/xdocs/navigation.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/xdocs/navigation.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/navigation.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Copied: xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml (from r149449, xmlbeans/branches/1.x/xdocs/properties.xml)
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml?view=diff&rev=149465&p1=xmlbeans/branches/1.x/xdocs/properties.xml&r1=149449&p2=xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml&r2=149465
==============================================================================
    (empty)

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xmlbeans/branches/1.x-jdk1.3/xdocs/properties.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xmlbeans/branches/1.x-jdk1.3/xkit/README.txt
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x-jdk1.3/xkit/README.txt?view=diff&r1=149464&r2=149465
==============================================================================
--- xmlbeans/branches/1.x-jdk1.3/xkit/README.txt (original)
+++ xmlbeans/branches/1.x-jdk1.3/xkit/README.txt Tue Feb  1 15:55:34 2005
@@ -3,16 +3,6 @@
 
 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:
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org


Mime
View raw message