В чем основные отличия между XHTML и HTML?

В чем основные отличия между XHTML и HTML? Какой из них лучше, на ваш взгляд, и почему? Поддерживает ли большинство браузеров оба?

Ответ 1

Это, вероятно, лучшая статья, которую я прочитал о различиях и относительных достоинствах каждого из них:

HTML в сравнении с XHTML

Что мы должны использовать, 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 />