Почему вы считаете XML-синтаксис «правильным», а sgml-синтаксис — «неправильным»? Почему «правильно» закрывать одиночные теги слешем? Набор одиночных тегов в HTML заранее известен парсеру, и он сам в состоянии без подсказок определить, где тег парный, а где — одиночный. Почему нельзя поручить парсеру самому понять, где, например, заканчивается <p> или <td>? В синтаксически корректном документе это совершенно очевидно из контекста. Зачем, в конце концов, все атрибуты в кавычки заключать, если заведомо известно, какие значения требуют кавычек, а какие — нет? А насчет DTD и схем — а как это противоречит сказанному? Для HTML-синтаксиса DTD не применяется? Впрочем, если для вас HTML5 — это только хеды, футеры, и асайды, а XHTML — это слеши в конце одиночных тегов, DTD и схемы, то на этом уровне обсуждать вопрос просто неинтересно. И то и другое включает в себя гораздо больше нюансов. Как удобных, так и неудобных, как полезных, так и сомнительных. На основе этого как раз и делается выбор. Тут еще могут влиять используемые технологии, конечно, но часто ли выходной документ создается XML-сериализатором, который кроме XML больше ничего не умеет?