def ReSpecTh_to_ChemKED(filename_xml, file_author='<STR_LIT>', file_author_orcid='<STR_LIT>', *, validate=False):
<EOL>tree = etree.parse(filename_xml)<EOL>root = tree.getroot()<EOL>properties = get_file_metadata(root)<EOL>properties['<STR_LIT>'] = get_reference(root)<EOL>properties['<STR_LIT>']['<STR_LIT>'] = (properties['<STR_LIT>'].get('<STR_LIT>', '<STR_LIT>') +<EOL>'<STR_LIT>' +<EOL>os.path.basename(filename_xml)<EOL>)<EOL>properties.update(get_experiment_kind(root))<EOL>properties['<STR_LIT>'] = get_common_properties(root)<EOL>properties['<STR_LIT>']['<STR_LIT>'] = get_ignition_type(root)<EOL>properties['<STR_LIT>'] = get_datapoints(root)<EOL>has_pres_rise = ('<STR_LIT>' in properties['<STR_LIT>'] or<EOL>any([True for dp in properties['<STR_LIT>'] if '<STR_LIT>' in dp])<EOL>)<EOL>if has_pres_rise and properties['<STR_LIT>']['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>raise KeywordError('<STR_LIT>')<EOL><DEDENT>has_vol_hist = any(<EOL>[t.get('<STR_LIT:type>') == '<STR_LIT>' for dp in properties['<STR_LIT>']<EOL>for t in dp.get('<STR_LIT>', [{}])]<EOL>)<EOL>if has_vol_hist and properties['<STR_LIT>']['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>raise KeywordError('<STR_LIT>')<EOL><DEDENT>if file_author_orcid and not file_author:<EOL><INDENT>raise KeywordError('<STR_LIT>')<EOL><DEDENT>if file_author:<EOL><INDENT>temp_author = {'<STR_LIT:name>': file_author}<EOL>if file_author_orcid:<EOL><INDENT>temp_author['<STR_LIT>'] = file_author_orcid<EOL><DEDENT>properties['<STR_LIT>'].append(temp_author)<EOL><DEDENT>for idx in range(len(properties['<STR_LIT>'])):<EOL><INDENT>for prop in properties['<STR_LIT>']:<EOL><INDENT>properties['<STR_LIT>'][idx][prop] = properties['<STR_LIT>'][prop]<EOL><DEDENT><DEDENT>if validate:<EOL><INDENT>chemked.ChemKED(dict_input=properties)<EOL><DEDENT>return properties<EOL>
Convert ReSpecTh XML file to ChemKED-compliant dictionary.

    Args:
        filename_xml (`str`): Name of ReSpecTh XML file to be converted.
        file_author (`str`, optional): Name to override original file author
        file_author_orcid (`str`, optional): ORCID of file author
        validate (`bool`, optional, keyword-only): Set to `True` to validate the resulting
            property dictionary with `ChemKED`. Set to `False` if the file is being loaded and will
            be validated at some other point before use.