[253180] Handle whitespace in enumeration values better.
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/ecore/XSDEcoreBuilder.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/ecore/XSDEcoreBuilder.java
index 53fe97c..630e111 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/ecore/XSDEcoreBuilder.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/ecore/XSDEcoreBuilder.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDEcoreBuilder.java,v 1.94 2008/08/29 16:24:47 emerks Exp $
+ * $Id: XSDEcoreBuilder.java,v 1.93.2.1 2008/11/03 13:12:21 emerks Exp $
  */
 package org.eclipse.xsd.ecore;
 
@@ -199,18 +199,8 @@
         {
           containingXSDSchema = rootSchema;
         }
-        String nsURI = getEcoreAttribute(containingXSDSchema, "nsURI");
-        if (nsURI != null)
-        {
-          String qualifiedPackageName = qualifiedPackageName(nsURI);
-          ePackage.setName(qualifiedPackageName);
-          ePackage.setNsURI(nsURI);
-        }
-        else
-        {
-          ePackage.setName(validName(containingXSDSchema.eResource().getURI().trimFileExtension().lastSegment(), true));
-          ePackage.setNsURI(containingXSDSchema.eResource().getURI().toString());
-        }
+        ePackage.setName(validName(containingXSDSchema.eResource().getURI().trimFileExtension().lastSegment(), true));
+        ePackage.setNsURI(containingXSDSchema.eResource().getURI().toString());
 
         // Also register against the nsURI for the case that the target namespace is null.
         //
@@ -592,7 +582,7 @@
             List<?> values = xsdEnumerationFacet.getValue();
             if (!values.isEmpty())
             {
-              String lexicalValue= xsdEnumerationFacet.getLexicalValue();
+              String lexicalValue= xsdSimpleTypeDefinition.getNormalizedLiteral(xsdEnumerationFacet.getLexicalValue());
               Object value = values.get(0);
               if (value instanceof List)
               {
@@ -781,7 +771,7 @@
         XSDEnumerationFacet xsdEnumerationFacet = i.next();
         if (!"true".equalsIgnoreCase(getEcoreAttribute(xsdEnumerationFacet, "ignore")))
         {
-          String literal = xsdEnumerationFacet.getLexicalValue();
+          String literal = xsdSimpleTypeDefinition.getNormalizedLiteral(xsdEnumerationFacet.getLexicalValue());
           if (literal != null && eEnum.getEEnumLiteralByLiteral(literal) == null)
           {
             EEnumLiteral eEnumLiteral = EcoreFactory.eINSTANCE.createEEnumLiteral();
@@ -2343,11 +2333,12 @@
       // Set the default to the first enumeration's value.
       //
       eAttribute.setDefaultValueLiteral
-        ((xsdSimpleTypeDefinition.
-           getEffectiveEnumerationFacet().
-           getSimpleTypeDefinition().
-           getEnumerationFacets().
-           get(0)).getLexicalValue());
+        (xsdSimpleTypeDefinition.getNormalizedLiteral
+          ((xsdSimpleTypeDefinition.
+             getEffectiveEnumerationFacet().
+             getSimpleTypeDefinition().
+             getEnumerationFacets().
+             get(0)).getLexicalValue()));
     }
   }
 
diff --git a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDEnumerationFacetImpl.java b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDEnumerationFacetImpl.java
index fc07870..2ff0411 100644
--- a/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDEnumerationFacetImpl.java
+++ b/plugins/org.eclipse.xsd/src/org/eclipse/xsd/impl/XSDEnumerationFacetImpl.java
@@ -12,7 +12,7 @@
  *
  * </copyright>
  *
- * $Id: XSDEnumerationFacetImpl.java,v 1.15 2007/11/26 12:20:54 emerks Exp $
+ * $Id: XSDEnumerationFacetImpl.java,v 1.15.2.1 2008/11/03 13:12:21 emerks Exp $
  */
 package org.eclipse.xsd.impl;
 
@@ -235,13 +235,17 @@
       XSDSimpleTypeDefinition xsdSimpleTypeDefinition = (XSDSimpleTypeDefinition)getContainer();
       if (xsdSimpleTypeDefinition != null)
       {
-        try
+        XSDSimpleTypeDefinition baseTypeDefinition = xsdSimpleTypeDefinition.getBaseTypeDefinition();
+        if (baseTypeDefinition != null)
         {
-          newValue = xsdSimpleTypeDefinition.getValue(getElement(), theLexicalValue);
-        }
-        catch (RuntimeException exception)
-        {
-          // Ignore.
+          try
+          {
+            newValue = baseTypeDefinition.getValue(getElement(), theLexicalValue);
+          }
+          catch (RuntimeException exception)
+          {
+            // Ignore.
+          }
         }
       }
     }