code: def __checkAttributes(self):
          
          for a in self.__class__.required:
              if not self.attributes.has_key(a):
                  raise SchemaError,\
                      'class instance %s, missing required attribute %s'\
                      %(self.__class__, a)
          for a,v in self.attributes.items():
              # attribute #other, ie. not in empty namespace
              if type(v) is dict:
                  continue
              
              # predefined prefixes xmlns, xml
              if a in (XMLSchemaComponent.xmlns, XMLNS.XML):
                  continue
              
              if (a not in self.__class__.attributes.keys()) and not\
                  (self.isAttribute() and self.isReference()):
                  raise SchemaError, '%s, unknown attribute(%s,%s)' \
                      %(self.getItemTrace(), a, self.attributes[a])
docs: Checks that required attributes have been defined,
             attributes w/default cannot be required.   Checks
             all defined attributes are legal, attribute 
             references are not subject to this test.