docs: def _extract(self, raw: str, station: str = None) -> str:
          """
          Extracts the raw_report element from XML response
          """
          resp = parsexml(raw)
          try:
              report = resp['response']['data'][self.rtype.upper()]
          except KeyError:
              raise self.make_err(raw)
          # Find report string
          if isinstance(report, dict):
              report = report['raw_text']
          elif isinstance(report, list) and report:
              report = report[0]['raw_text']
          else:
              raise self.make_err(raw, '"raw_text"')
          # Remove excess leading and trailing data
          for item in (self.rtype.upper(), 'SPECI'):
              if report.startswith(item + ' '):
                  report = report[len(item) + 1:]
          return report