docs: def determine_file_type(self, z):
          """Determine file type."""
  
          content = z.read('[Content_Types].xml')
          with io.BytesIO(content) as b:
              encoding = self._analyze_file(b)
              if encoding is None:
                  encoding = 'utf-8'
              b.seek(0)
              text = b.read().decode(encoding)
              soup = bs4.BeautifulSoup(text, 'xml')
              for o in soup.find_all('Override'):
                  name = o.attrs.get('PartName')
                  for k, v in MIMEMAP.items():
                      if name.startswith('/{}/'.format(k)):
                          self.type = v
                          break
                  if self.type:
                      break
          self.filepattern = DOC_PARAMS[self.type]['filepattern']
          self.namespaces = DOC_PARAMS[self.type]['namespaces']
          self.captures = sv.compile(DOC_PARAMS[self.type]['captures'], DOC_PARAMS[self.type]['namespaces'])