code: def get_ignition_type(root):
      
      properties = {}
      elem = root.find('ignitionType')
  
      if elem is None:
          raise MissingElementError('ignitionType')
      elem = elem.attrib
  
      if 'target' in elem:
          ign_target = elem['target'].rstrip(';').upper()
      else:
          raise MissingAttributeError('target', 'ignitionType')
  
      if 'type' in elem:
          ign_type = elem['type']
          if ign_type == 'baseline max intercept from d/dt':
              ign_type = 'd/dt max extrapolated'
      else:
          raise MissingAttributeError('type', 'ignitionType')
  
      # ReSpecTh allows multiple ignition targets
      if len(ign_target.split(';')) > 1:
          raise NotImplementedError('Multiple ignition targets not supported.')
  
      # Acceptable ignition targets include pressure, temperature, and species
      # concentrations
      if ign_target == 'OHEX':
          ign_target = 'OH*'
      elif ign_target == 'CHEX':
          ign_target = 'CH*'
      elif ign_target == 'P':
          ign_target = 'pressure'
      elif ign_target == 'T':
          ign_target = 'temperature'
  
      if ign_target not in ['pressure', 'temperature', 'OH', 'OH*', 'CH*', 'CH']:
          raise KeywordError(ign_target + ' not valid ignition target')
  
      if ign_type not in ['max', 'd/dt max', '1/2 max', 'min', 'd/dt max extrapolated']:
          raise KeywordError(ign_type + ' not valid ignition type')
  
      properties['type'] = ign_type
      properties['target'] = ign_target
  
      return properties
docs: Gets ignition type and target.
  
      Args:
          root (`~xml.etree.ElementTree.Element`): Root of ReSpecTh XML file
  
      Returns:
          properties (`dict`): Dictionary with ignition type/target information