'Formulate full name according to the specification.
@arg name_attr: name value read in schema or None.
@arg space_attr: namespace value read in schema or None.
@ard default_space: the current default space or None.'

def __init__(self, name_attr, space_attr, default_space):

    if (not (isinstance(name_attr, basestring) or (name_attr is None))):
        fail_msg = 'Name    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    elif (name_attr == ''):
        fail_msg = 'Name    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    if (not (isinstance(space_attr, basestring) or (space_attr is None))):
        fail_msg = 'Space    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    elif (name_attr == ''):
        fail_msg = 'Space    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    if (not (isinstance(default_space, basestring) or (default_space is None))):
        fail_msg = 'Default    space    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    elif (name_attr == ''):
        fail_msg = 'Default    must    be    non-empty    string    or    None.'
        raise SchemaParseException(fail_msg)
    self._full = None
    if ((name_attr is None) or (name_attr == '')):
        return
    if (name_attr.find('.') < 0):
        if ((space_attr is not None) and (space_attr != '')):
            self._full = ('%s.%s' % (space_attr, name_attr))
        elif ((default_space is not None) and (default_space != '')):
            self._full = ('%s.%s' % (default_space, name_attr))
        else:
            self._full = name_attr
    else:
        self._full = name_attr
