Ну, вы, конечно, могли бы плюнуть 400 Bad Request
, если тело запроса не проходит проверку DTD, но я бы не требовал наличия ссылки DTD. Вы должны разрешить его исключение и использовать его, если он там есть, но я также не смог бы выполнить запрос, если они указывают неправильный DTD. Конечно, в сообщении об ошибке должно быть указано ожидаемое DTD.
Возможно, вы захотите пропустить строгую проверку соответствия, если DTD пропущен, так как это скорее то, чего хотят люди при настройке программного обеспечения, но по соображениям производительности может потребоваться отключить их после знаю, что все работает.