def __init__(self, name_attr, space_attr, default_space):<EOL>
<EOL>if not (isinstance(name_attr, six.string_types) or (name_attr is None)):<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>elif name_attr == "<STR_LIT>":<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>if not (isinstance(space_attr, six.string_types) or (space_attr is None)):<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>elif name_attr == "<STR_LIT>":<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>if not (isinstance(default_space, six.string_types) or (default_space is None)):<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>elif name_attr == "<STR_LIT>":<EOL><INDENT>fail_msg = '<STR_LIT>'<EOL>raise SchemaParseException(fail_msg)<EOL><DEDENT>self._full = None  <EOL>if name_attr is None or name_attr == "<STR_LIT>":<EOL><INDENT>return<EOL><DEDENT>if name_attr.find('<STR_LIT:.>') < <NUM_LIT:0>:<EOL><INDENT>if (space_attr is not None) and (space_attr != "<STR_LIT>"):<EOL><INDENT>self._full = "<STR_LIT>" % (space_attr, name_attr)<EOL><DEDENT>else:<EOL><INDENT>if (default_space is not None) and (default_space != "<STR_LIT>"):<EOL><INDENT>self._full = "<STR_LIT>" % (default_space, name_attr)<EOL><DEDENT>else:<EOL><INDENT>self._full = name_attr<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>self._full = name_attr<EOL><DEDENT>
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.