def __init__(self, logger, gccxml_cvs_revision=None, castxml_format=None):
if castxml_format is not None and gccxml_cvs_revision is not None:<EOL><INDENT>raise RuntimeError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>self._is_castxml1 = False<EOL>self._is_castxml = False<EOL>self._is_gccxml = False<EOL>if castxml_format is not None:<EOL><INDENT>self._xml_generator_version = self.__castxml<EOL>self._xml_output_version = castxml_format<EOL>self._is_castxml = True<EOL>self._is_castxml1 = True<EOL><DEDENT>elif gccxml_cvs_revision is not None:<EOL><INDENT>self._xml_generator_version, self._xml_output_version =self.__extract_versions(logger, gccxml_cvs_revision)<EOL>self._is_gccxml = "<STR_LIT>" in self._xml_generator_version<EOL>self._is_castxml = "<STR_LIT>" in self._xml_generator_version<EOL><DEDENT>else:<EOL><INDENT>raise RuntimeError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>
Create a new xml_generators object.

Args:
    logger (logging.Logger) : a logger for debugging output
    gccxml_cvs_revision (str|None): the xml output version
    castxml_format (str|None): the xml output version