code: def is_valid_catalog(catalog, validator=None):
      
      catalog = readers.read_catalog(catalog)
      if not validator:
          if hasattr(catalog, "validator"):
              validator = catalog.validator
          else:
              validator = create_validator()
  
      jsonschema_res = validator.is_valid(catalog)
      custom_errors = iter_custom_errors(catalog)
  
      return jsonschema_res and len(list(custom_errors)) == 0
docs: Valida que un archivo `data.json` cumpla con el schema definido.
  
      Chequea que el data.json tiene todos los campos obligatorios y que
      tanto los campos obligatorios como los opcionales siguen la estructura
      definida en el schema.
  
      Args:
          catalog (str o dict): Catálogo (dict, JSON o XLSX) a ser validado.
  
      Returns:
          bool: True si el data.json cumple con el schema, sino False.