relax check we can't really get away with imposing

git-svn-id: https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/XmlSchema@1022358 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/ws/commons/schema/XmlSchemaComplexType.java b/src/main/java/org/apache/ws/commons/schema/XmlSchemaComplexType.java
index 1ec4183..89c5fbf 100644
--- a/src/main/java/org/apache/ws/commons/schema/XmlSchemaComplexType.java
+++ b/src/main/java/org/apache/ws/commons/schema/XmlSchemaComplexType.java
@@ -165,5 +165,4 @@
     XmlSchemaParticle getParticleType() {

         return particleType;

     }

-

 }

diff --git a/src/main/java/org/apache/ws/commons/schema/XmlSchemaType.java b/src/main/java/org/apache/ws/commons/schema/XmlSchemaType.java
index 7854278..25d7ebf 100644
--- a/src/main/java/org/apache/ws/commons/schema/XmlSchemaType.java
+++ b/src/main/java/org/apache/ws/commons/schema/XmlSchemaType.java
@@ -80,8 +80,8 @@
             return super.toString() + "[{}" + getName() + "]";
 
         } else {
-            return super.toString() 
-                + "[{" + namedDelegate.getParent().getLogicalTargetNamespace() + "}" 
+            return super.toString()
+                + "[{" + namedDelegate.getParent().getLogicalTargetNamespace() + "}"
                 + getName() + "]";
         }
     }
@@ -107,6 +107,14 @@
     }
 
     public void setName(String name) {
+       /*
+        * Inside a redefine, a 'non-top-level' type can have a name.
+        * This requires us to tolerate this case (non-top-level, named) even it
+        * in any other case it's completely invalid.
+        */
+        if (isTopLevel() && name == null) {
+            throw new XmlSchemaException("A non-top-level type may not be anonyous.");
+        }
         if (namedDelegate.isTopLevel() && namedDelegate.getName() != null) {
             namedDelegate.getParent().getSchemaTypes().remove(getQName());
         }