docs: def load_xml(self, filepath):
          """Load the filter from a txt file
  
          Parameters
          ----------
          filepath: str
              The filepath for the filter
          """
          # Parse the XML file
          vot = vo.parse_single_table(filepath)
          self.raw = np.array([list(i) for i in vot.array]).T
  
          # Parse the filter metadata
          for p in [str(p).split() for p in vot.params]:
  
              # Extract the key/value pairs
              key = p[1].split('"')[1]
              val = p[-1].split('"')[1]
  
              # Do some formatting
              flt1 = p[2].split('"')[1] == 'float'
              flt2 = p[3].split('"')[1] == 'float'
              if flt1 or flt2:
                  val = float(val)
  
              else:
                  val = val.replace('b&apos;', '')\
                           .replace('&apos', '')\
                           .replace('&amp;', '&')\
                           .strip(';')
  
              # Set the attribute
              if key != 'Description':
                  setattr(self, key, val)
  
          # Create some attributes
          self.path = filepath
          self.pixels_per_bin = self.raw.shape[-1]
          self.n_bins = 1