generates JSON schema