





Extensible Hypertext Markup Language или XHTML - это язык разметки, который имеет ту же глубину выражения, что и HTML, но также соответствует синтаксису XML.
XHTML - это «современная версия HTML 4».
Более подробная информация: википедия и W3C
«XHTML - это современная версия HTML»: я должен выступить против этого, это совершенно неверно. XHTML - это HTML, реализованный с помощью XML, а не SGML. Это не современно, это другое. Например, ваш документ должен быть правильно сформирован, иначе ваш браузер просто отобразит ошибку XML.
Вы слишком быстро делаете вывод. IE не поддерживает XHTML совсем, большинство серверных инструментов / шаблонов недостаточно строги, чтобы надежно выводить XML, и очень мало того, что XHTML может делать то, что не может HTML, путь не так ясен.
Совершенно верно, порнэл. И вы попадаете во всевозможные двусмысленности относительно того, какой тип контента использовать для ваших страниц. Это текст / xml? Или они text / html, но отформатированы как XML? Затем внезапно один из основных браузеров переходит в режим Quirks Mode, и ваш макет сходит с ума. Хороший беспорядок.
Примером различия является тег прерывания.
<br>
является правильным HTML, но в XHTML, где элементы необходимо проверять как XML, вы должны самостоятельно закрыть тег:
<br />
такое "закрытие тега" предотвращает проблемы?
XHTML основан на XML и, следовательно, требует, чтобы источник был правильно сформирован. Поскольку XHTML более строг, чем HTML, механизму рендеринга требуется меньше предварительной обработки.
XHTML следует обслуживать как application / xhtml + xml, чтобы вы могли воспользоваться преимуществами, иначе XHTML будет рассматриваться как обычный HTML. Использование его как «application / xhtml + xml» не является обычным явлением в Интернете из-за Internet Explorer, который не может обрабатывать XHTML.
XHTML сегодня используется (относительно) широко! Обслуживание XHTML как application / xhtml + xml встречается нечасто, потому что Internet Explorer 6 плохо справляется с этим типом MIME. Я думаю, что это уже работает в Internet Explorer 7.
Я имел в виду, что "application / xhtml + xml" не получил широкого распространения.
Дело не в том, какой из них лучше; HTML все еще продолжает развиваться, а HTML5 развивается (правда, уже много лет :)) и предоставляет некоторые новые элементы для более простого управления новыми технологиями, такими как мультимедиа на веб-страницах.
С другой стороны, XHTML - это строгость XML, если мы говорим о чистоте. Если вы сохраните свой HTML-документ правильно сформированным (закройте все открытые элементы, сохраните элементы вложенными в древовидную форму), вы извлечете максимум из мира XHTML / XML и по-прежнему сможете использовать формат HTML, объявляя свои документы в быть HTML, но при этом сохранять их «чистыми» (правильно сформированными). Я не думаю, что мы должны объявлять каждого из них «лучше»; они могут сосуществовать. Просто мы делаем свои дела правильно.
так что браузеры совместимы с ними обоими
не полностью и не со всеми версиями. xhtml 1.0 хорошо поддерживается, xhtml 1.1 не очень. html 4 и 4.01 хорошо поддерживаются, но должны использоваться в «строгом» режиме, чтобы обеспечить почти одинаковую визуализацию в разных браузерах, на сцену выходит поддержка html 5 (поэтому в старых браузерах могут быть проблемы)
Если вы хотите обслуживать документ как text / html, вы не могу используете сериализатор XML! Синтаксис блоков CDATA несовместим, и сериализатору XML разрешено выводить <br> </br> или <xhtml: p>, которые прерываются в режиме HTML. Это большая проблема, потому что вам придется использовать ненадежные инструменты разметки текста.
Internet Explorer - лучший вариант. Вы не можете использовать XHTML как XML, поэтому он не предлагает много преимуществ.
Это, вероятно, лучшая статья, которую я читал, о различиях и относительных достоинствах каждого из них:
Что мы должны использовать, HTML или XHTML и почему?
На WHATWG вики есть также довольно техническое сравнение.
Просто хочу отметить, что по состоянию на июнь 2017 года связанный веб-сайт больше не существует.
@Mahouk Обе ссылки у меня работают.
Ах, правда, но они были мертвы, когда я оставил свой комментарий.
Резюме: используйте HTML.
Есть много различий и много умных людей (которые знают, о чем говорят: D) имеютужеподвела большинство плюсов и минусов.
Как указывалось ранее, XHTML должен быть (теоретически) действительным XML. Теоретически (но не на практике) несовместимый XHTML не должен отображаться браузером.
Преимущество использования одного перед другим очень редко, поэтому пишите то, что вы лично предпочитаете - при условии, что вы делаете это последовательно. HTML5, который станет будущим веб-стандартом, будет поддерживать теги в стиле как XHTML, так и HTML 4.01 (предыдущий - через необязательную «сериализацию XML»), а XHTML2 выглядит так, как будто он будет мертв в воде без активных поставщиков. поддерживая это.
Фактически, отправка XHTML как application / xhtml + xml вызовет ошибку. Отправка XHTML как text / html на практике будет работать, потому что ваш XML-документ будет анализироваться парсером SGML, который на самом деле очень снисходителен.
Разница в том, что 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, так что это будет продолжаться.
Имейте в виду, что какой бы формат вы ни выбрали, проверка вывода всегда является хорошей идеей для обнаружения синтаксической ошибки.
Для получения дополнительной информации перейдите по этой ссылке - sitepoint.com/web-foundations/differences-html-xhtml
На самом деле, нет причин не генерировать действительный xhtml ... если только вы не хотите усложнить встраивание вашей работы / очистки экрана. Однако вы, вероятно, не захотите этого делать.