code: def _validate_mets_file_group_names(self):
          
          for fileGrp in self.mets.file_groups:
              if not fileGrp.startswith(FILE_GROUP_PREFIX):
                  self.report.add_notice("fileGrp USE does not begin with '%s': %s" % (FILE_GROUP_PREFIX, fileGrp))
              else:
                  # OCR-D-FOO-BAR -> ('FOO', 'BAR')
                  # \____/\_/ \_/
                  #   |    |   |
                  # Prefix |  Name
                  #     Category
                  category = fileGrp[len(FILE_GROUP_PREFIX):]
                  name = None
                  if '-' in category:
                      category, name = category.split('-', 1)
                  if category not in FILE_GROUP_CATEGORIES:
                      self.report.add_error("Unspecified USE category '%s' in fileGrp '%s'" % (category, fileGrp))
                  if name is not None and not re.match(r'^[A-Z0-9-]{3,}$', name):
                      self.report.add_error("Invalid USE name '%s' in fileGrp '%s'" % (name, fileGrp))
docs: Ensure ``USE`` attributes of ``mets:fileGrp`` conform to OCR-D naming schema..
  
          See `spec <https://ocr-d.github.io/mets#file-group-use-syntax>`_.