You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by di...@apache.org on 2005/10/25 18:54:08 UTC

svn commit: r328411 - /webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java

Author: dims
Date: Tue Oct 25 09:54:05 2005
New Revision: 328411

URL: http://svn.apache.org/viewcvs?rev=328411&view=rev
Log:
Fix for PROBLEM 1&2 reported here by woden folks:
http://mail-archives.apache.org/mod_mbox/ws-woden-dev/200510.mbox/browser


Modified:
    webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java

Modified: webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java?rev=328411&r1=328410&r2=328411&view=diff
==============================================================================
--- webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java (original)
+++ webservices/commons/trunk/XmlSchema/src/org/apache/ws/commons/schema/SchemaBuilder.java Tue Oct 25 09:54:05 2005
@@ -752,14 +752,18 @@
 
         if (extEl.hasAttribute("base")) {
             String name = extEl.getAttribute("base");
-            String nsFromEl = Tokenizer.tokenize(name, ":")[0];
-            Object result = schema.namespaces.get(nsFromEl);
+            if (name.indexOf(':') != -1) {
+                String nsFromEl = Tokenizer.tokenize(name, ":")[0];
+                Object result = schema.namespaces.get(nsFromEl);
 
-            if (result == null)
-                throw new XmlSchemaException("No namespace found in "
-                                             + "given base simple content type");
-            name = Tokenizer.lastToken(name, ":")[1];
-            ext.baseTypeName = new QName(result.toString(), name);
+                if (result == null)
+                    throw new XmlSchemaException("No namespace found in "
+                            + "given base simple content type");
+                name = Tokenizer.lastToken(name, ":")[1];
+                ext.baseTypeName = new QName(result.toString(), name);
+            } else {
+                ext.baseTypeName = new QName(schema.getNamespace(""), name);
+            }
         }
 
         for (
@@ -1394,10 +1398,13 @@
             isQualified = formDef.equals(XmlSchemaForm.QUALIFIED);
         }
 
-        String ns = isQualified || isGlobal ? schema.targetNamespace :
+        String ns = (isQualified || isGlobal) ? schema.targetNamespace :
                                                      null;
-        element.qualifiedName = new QName(ns, element.name);
-
+        
+        if(element.name != null) {
+            element.qualifiedName = new QName(ns, element.name);
+        }
+        
         Element annotationEl =
                 XDOMUtil.getFirstChildElementNS(el,
                                                 XmlSchema.SCHEMA_NS,