code: def _parse_common_paths_file(project_path):
          
          common_paths_file = os.path.join(project_path, 'common_paths.xml')
          tree = etree.parse(common_paths_file)
  
          paths = {}
          path_vars = ['basedata', 'scheme', 'style', 'style', 'customization',
                       'markable']
          for path_var in path_vars:
              specific_path = tree.find('//{}_path'.format(path_var)).text
              paths[path_var] = specific_path if specific_path else project_path
          paths['project_path'] = project_path
  
          annotations = {}
          for level in tree.iterfind('//level'):
              annotations[level.attrib['name']] = {
                  'schemefile': level.attrib['schemefile'],
                  'customization_file': level.attrib['customization_file'],
                  'file_extension': level.text[1:]}
  
          stylesheet = tree.find('//stylesheet').text
          return paths, annotations, stylesheet
docs: Parses a common_paths.xml file and returns a dictionary of paths,
          a dictionary of annotation level descriptions and the filename
          of the style file.
  
          Parameters
          ----------
          project_path : str
              path to the root directory of the MMAX project
  
          Returns
          -------
          paths : dict
              maps from MMAX file types (str, e.g. 'basedata' or 'markable')
              to the relative path (str) containing files of this type
          annotations : dict
              maps from MMAX annotation level names (str, e.g. 'sentence',
              'primmark') to a dict of features.
              The features are: 'schemefile' (maps to a file),
              'customization_file' (ditto) and 'file_extension' (maps to the
              file name ending used for all annotations files of this level)
          stylefile : str
              name of the (default) style file used in this MMAX project