def __init__(self, sub_schemas, optional_schemas=[], allow_more=False,<EOL>struct_name='<STR_LIT:list>'):
<EOL>if not isinstance(sub_schemas, (list, tuple)):<EOL><INDENT>raise securesystemslib.exceptions.FormatError(<EOL>'<STR_LIT>' + repr(sub_schemas))<EOL><DEDENT>for schema in sub_schemas:<EOL><INDENT>if not isinstance(schema, Schema):<EOL><INDENT>raise securesystemslib.exceptions.FormatError('<STR_LIT>'<EOL>'<STR_LIT>' + repr(schema))<EOL><DEDENT><DEDENT>self._sub_schemas = sub_schemas + optional_schemas<EOL>self._min = len(sub_schemas)<EOL>self._allow_more = allow_more<EOL>self._struct_name = struct_name<EOL>
<Purpose>
  Create a new Struct schema.

<Arguments>
  sub_schemas: The sub-schemas recognized.
  optional_schemas: The optional list of schemas.
  allow_more: Specifies that an optional list of types is allowed.
  struct_name: A string identifier for the Struct object.