Index: org/apache/ws/jaxme/xs/XSElement.java
===================================================================
RCS file: /home/cvspublic/ws-jaxme/src/xs/org/apache/ws/jaxme/xs/XSElement.java,v
retrieving revision 1.5
diff -u -r1.5 XSElement.java
--- org/apache/ws/jaxme/xs/XSElement.java	16 Feb 2004 23:39:48 -0000	1.5
+++ org/apache/ws/jaxme/xs/XSElement.java	15 Sep 2004 16:46:16 -0000
@@ -31,6 +31,10 @@
   /** <p>Returns whether the element is global or not.</p>
    */
   public boolean isGlobal();
+  
+  /** <p>Returns whether the element is nillable or not.</p>
+   */  
+  public boolean isNillable();
 
   /** <p>Returns the elements name. Note that, unlike types,
    * an element always has a name.</p>
Index: org/apache/ws/jaxme/xs/impl/XSElementImpl.java
===================================================================
RCS file: /home/cvspublic/ws-jaxme/src/xs/org/apache/ws/jaxme/xs/impl/XSElementImpl.java,v
retrieving revision 1.7
diff -u -r1.7 XSElementImpl.java
--- org/apache/ws/jaxme/xs/impl/XSElementImpl.java	27 Aug 2004 00:48:49 -0000	1.7
+++ org/apache/ws/jaxme/xs/impl/XSElementImpl.java	15 Sep 2004 16:46:16 -0000
@@ -57,6 +57,7 @@
   private final boolean isGlobal;
   private XSAnnotation[] annotations;
   private boolean isValidated;
+  private boolean isNillable;
   private XSType type;
   private XSGroup substitutionGroup;
   private XSIdentityConstraint[] identityConstraints;
@@ -119,6 +120,7 @@
 
     name = qName;
     isGlobal = isReference()  ||  (pBaseElement instanceof XsTTopLevelElement);
+    isNillable = pBaseElement.getNillable();
 
     annotations = getXSSchema().getXSObjectFactory().newXSAnnotations(
       this, 
@@ -129,6 +131,10 @@
   public boolean isGlobal() {
     return isGlobal;
   }
+  
+  public boolean isNillable() {
+    return isGlobal;
+  }  
 
   public XsQName getName() {
     return name;
@@ -160,7 +166,9 @@
                                      getLocator());
       }
       element.validate();
+      isNillable = element.isNillable();    
       myType = element.getType();
+      
     } else {
       XsTElement element = getXsTElement();
       if (isInnerSimpleType()) {
@@ -181,6 +189,7 @@
       }
     }
     this.type = myType;
+    
 
     myType.validate();
     validateAllIn( annotations );