В чем основные отличия между XHTML и HTML?
В чем основные отличия между XHTML и HTML? Какой из них лучше, на ваш взгляд, и почему? Поддерживает ли большинство браузеров оба?
Ответы
Ответ 1
Это, вероятно, лучшая статья, которую я прочитал о различиях и относительных достоинствах каждого из них:
Что мы должны использовать, HTML или XHTML и почему?
Существует также довольно техническое сравнение WHATWG wiki.
Ответ 2
XHTML основан на XML и, следовательно, требует правильного формирования источника.
Поскольку XHTML является более строгим, чем HTML, для механизма рендеринга требуется более предварительная обработка.
XHTML должен быть использован как application/xhtml + xml, чтобы вы могли воспользоваться преимуществами, иначе XHTML будет рассматриваться как обычный HTML. Работа с ним как "application/xhtml + xml" не является обычным явлением в Интернете из-за Internet Explorer, который не может обрабатывать XHTML.
Ответ 3
Разница в том, что XHTML основан на XML, в то время как HTML основан на SGML.
Браузеры используют синтаксический анализатор SGML для контента, отправленного с типом контента text/html
и анализатором XML для application/xhtml+xml
.
При использовании синтаксического анализатора SGML браузеры продолжают разбор, даже если они сталкиваются с синтаксической ошибкой в файле. Вот почему так много людей думают, что они делают XHTML, когда они отправляют XML-выглядящие файлы в браузер. Это на самом деле ошибка, так как это вызовет множество ошибок синтаксического анализа в браузере и замедлит процесс рендеринга.
При использовании парсера XML браузер останавливает разбор при возникновении синтаксической ошибки и отображает ошибку XML. Это, конечно, справедливо только для браузеров, у которых есть XML-парсер для содержимого HTML, что неверно для Internet Explorer, который будет загружать только файл и не отображать его.
Что вам следует делать?
Вы должны использовать XHTML, если вам нужна проверка синтаксиса и строгая структура, которую накладывает XML. Вы должны помнить, что вы должны отправлять свой контент XHTML в Internet Explorer с неправильным типом контента со всеми вытекающими проблемами. Вы также должны помнить, что ваш документ будет ломаться всякий раз, когда в файле содержится недопустимый контент, поэтому вы должны проявлять большую осторожность, чтобы дезинформировать любой пользовательский ввод.
Вы должны использовать HTML для чего-либо еще. HTML просто работает и сегодня является очень популярным стандартом. Даже следующий стандарт HTML 5 определяет синтаксис на основе SGML, поэтому это будет продолжаться.
Имейте в виду, что независимо от формата, который вы выбрали, проверка вашего вывода всегда является хорошей идеей для обнаружения ошибки синтаксиса.
Ответ 4
Расширяемый язык разметки гипертекста или XHTML - это язык разметки, который имеет ту же глубину выражения, что и HTML, но также соответствует синтаксису XML.
XHTML - это "современная версия HTML 4".
Дополнительная информация: wikipedia и W3C
Ответ 5
Сводка: используйте HTML.
Есть много различий и многие умные люди (которые знают, о чем они говорят: D) уже подвел итог большей части плюсов и минусов.
Ответ 6
Как указывалось ранее, XHTML должен (теоретически) действительным XML. В теории (но не на практике) несоблюдение XHTML не должно отображаться браузером.
Существует очень редко преимущество использования одного над другим, поэтому пишите в зависимости от того, что вы лично предпочитаете - пока вы делаете это последовательно. HTML5, который станет будущим веб-стандартом, будет поддерживать теги XHTML и HTML 4.01 (предыдущий через необязательную "сериализацию XML" ), а XHTML2 выглядит так, будто он будет в значительной степени мертв в воде без активных поставщиков поддерживая его.
Ответ 7
Это не о том, какой из них лучше; HTML все еще продолжает развиваться, и HTML5 находится на своем пути (в течение многих лет, хотя:)) и предоставляет некоторые новые элементы для упрощения управления новыми технологиями, такими как мультимедиа на веб-страницах.
С другой стороны, XHTML относится к строгости XML, если мы говорим, что мы сохраняем чистоту. Если вы сохранили свой HTML-документ хорошо сформированным (закройте все открытые элементы, сохраните все вложенные в древовидную форму), вы получаете лучшее из мира XHTML/XML и все еще можете использовать формат HTML, объявляя свои документы быть HTML, но все же держать их "чистыми" (хорошо сформированными). Я не думаю, что мы должны объявить каждого из них "лучше"; они могут сосуществовать. Это просто о том, что мы делаем все правильно.
Ответ 8
Примером разницы является тег разрыва.
<br>
является правильным HTML, но в XHTML, где элементы должны проверяться как XML, вы должны самостоятельно закрыть тег:
<br />