Синтаксис HTML5 - HTML и XHTML

Даже когда HTML5 является курсом вперед для HTML, мы получаем два варианта в качестве разработчиков: синтаксис XHTML и синтаксис HTML. Я использую XHTML в качестве основного метода для 5 лет, поэтому мне очень нравится.

Но мой вопрос в том, что синтаксис не-xml будет разрешен, есть ли причина придерживаться допустимого синтаксиса XML? Получаете ли вы что-нибудь с другим, помимо предпочтений (совместимость и т.д.)? Лично я буду чувствовать себя немного грязным, возвращаясь к закрытию тегов,
для меня второй характер, но могу ли я кое-что вернуться к синтаксису HTML?

Обновление: Я предполагаю, что мой истинный вопрос - есть ли причина переключиться с синтаксиса XHTML на HTML? Я много лет использую XHTML и не уверен, есть ли причина для возврата. Совместимость с браузером (IE иногда отличался приложением /xhtml + xml mime-type) и т.д.

Ответ 1

Я думаю, мой истинный вопрос: есть ли причина переключения с XHTML на HTML синтаксис? Я использую XHTML для лет и не уверены, есть ли причина для возврата. браузер совместимость (IE иногда был фиктивным с приложением /xhtml + xml mime-type) и т.д.

Как упоминалось в предыдущем ответе, text/html анализируется как HTML, а application/xhtml+xml анализируется как XML. Таким образом, вы должны использовать синтаксис, соответствующий типу MIME, который вы используете.

Если вы сейчас используете text/html, но используя синтаксис XHTML, вы должны исправить свой контент, чтобы использовать синтаксис HTML5. Возможно, вы уже близко, так как HTML5 позволяет синтаксис пустой строки XMLesque /> для элементов void (элементы, которые всегда пусты, например img и br).

Если вы используете application/xhtml+xml, поддержка IE будет причиной перехода на text/html и синтаксис HTML, если вы заботитесь о поддержке IE.

Попытка написать документы полиглота, которые являются правильными HTML5 и XHTML5 (для обслуживания различных типов MIME делают разные браузеры с одинаковыми байтами полезной нагрузки) сложнее, чем кажется на первый взгляд, и не стоит проблем.

Ответ 2

Преимущество синтаксиса XHTML заключается в том, что он является XML. Его можно легко анализировать, понимать и манипулировать. Синтаксис HTML намного труднее для клиентов.

Чушь! Спецификация HTML5 определяет, как анализировать HTML таким образом, который относительно легко реализовать, и разрабатываются готовые парсеры, которые можно легко интегрировать в цепочки инструментов. Даже парсер HTML5 можно интегрировать в цепочку инструментов XML вместо синтаксического анализа XML.

Но вам нужно понять, что на практике вы, скорее всего, используете HTML в любом случае, даже если думаете, что используете XHTML на основе DOCTYPE. Если ваш контент используется как text/html, вместо application/xhtml + xml или другого XML MIME-типа, то ваш контент будет обрабатываться как HTML.

С HTML5 вы можете использовать синтаксис только для HTML, а это значит, что он совместим только с тем, что он обслуживается и обрабатывается как text/html, он не является хорошо сформированным XML. Или используйте синтаксис только для XHTML, то есть это хорошо сформированный XML, но использует функции XML, которые не совместимы с HTML. Или вы можете написать документ Polyglot, который соответствует и совместим с обработкой HTML и XHTML (в принципе, это концептуально похоже на запись XHTML 1.0, которая соответствует рекомендациям Приложения C).

Ответ 3

В проекте HTML5 очень четко сказано, какой синтаксис использовать:

  • использовать синтаксис HTML при отправке страниц в виде текста /html
  • использовать синтаксис XHTML при отправке страниц в качестве приложения /xhtml + xml

Ссылка: http://dev.w3.org/html5/spec/Overview.html#authors-using-xhtml

Ответ 4

При использовании XHTML вы можете смешивать его с другим содержимым XML, т.е. MathML, SVG или собственный собственный формат, просто изменив пространство имен в какой-то момент. Кроме того, вы можете встроить XHTML в другие XML-документы.

(ну, на самом деле MathML и SVG можно использовать и в HTML-формате, отличном от XML, но они специально обрезаны)

Ответ 6

Большинство преимуществ XHTML не удалось реализовать. Хотя я бы не рекомендовал его для новых проектов, XHTML служил как text/html, кажется вполне управляемым и широко распространенным, если вы следуете рекомендациям по совместимости. Вероятно, не стоит менять какие-либо значимые проекты на сериализацию HTML.

Ответ 7

Преимущество синтаксиса XHTML заключается в том, что он является XML. Его можно легко анализировать, понимать и манипулировать. Синтаксис HTML намного труднее для клиентов.

Но в конечном итоге это просто вопрос синтаксиса. Обе формы разрешены для HTML5.

Ответ 8

Обновление: я думаю, мой истинный вопрос заключается в том, есть ли причина переключиться с синтаксиса XHTML на HTML? Я много лет использую XHTML и не уверен, есть ли причина для возврата. Совместимость с браузером (IE иногда отличался приложением /xhtml + xml mime-type) и т.д.

Вы должны действительно рассмотреть две вещи. Язык, который вы пишете, и язык, который вы отправляете. Веб определяется тремя компонентами:

  • URI
  • Ресурс - Язык разметки (документ)
  • Протокол - HTTP (инструмент для управления информационным пространством)

Вы можете написать документ с синтаксисом XML на вашем рабочем столе, например, с помощью XHTML. В этой конкретной среде, если вы передадите расширение ".xhtml" в имя файла и откройте его в своем локальном браузере, он будет проанализирован как XML. Если вы укажете расширение ".html" на имя файла, оно будет проанализировано как HTML. В основном в вашем инструменте разработки, это XML, но это уже не имеет значения, как только вы обрабатываете его с помощью инструмента.

В Интернете ваш ресурс, идентифицированный URI, будет отправлен с определенным типом mimetype, в большинстве случаев, в наши дни люди используют text/html. Тип mimetype определяет, как клиент (браузер, робот поисковой системы и т.д.) Должен обработать ваш документ. Если вы используете синтаксис XML, но отправляете его с текстом /html, документ обрабатывается с помощью анализатора html.

Для отправки ваших документов по проводке в формате XML вам необходимо настроить сервер для отправки его в качестве приложения /xhtml + xml. (Обратите внимание: что IE8 и предыдущие версии не понимают, что такое application/xhtml + xml, и они будут предлагать меню сохранения.)

Абстрактная модель HTML 5 была разработана таким образом, что вы можете почти написать ее с помощью синтаксиса html или синтаксиса xml в text/html. Почти потому, что даже если вы пишете синтаксис XML (закрывая пустые элементы, кавычки вокруг атрибутов и т.д.), Вы столкнетесь с проблемами для сложных страниц, которые вызывают сценарии и пространства имен, из-за того, как с ними разбираются парсеры XML и парсеры HTML.

Ответ 9

Мне нравится XHTML, потому что он заставляет меня писать хорошую страницу. Существует много преимуществ для XHTML, поскольку браузеры анализируют его быстрее, и вам нужно создать хорошо сформированный XML, а не просто HTML. Кроме того, вам нужно обслуживать страницу с типом MIME application/xhtml+xml или вы не получаете никаких преимуществ X. Единственная проблема с XHTML заключается в том, что она не будет отображаться в IE8 и ранее.

Ответ 10

ОБНОВЛЕНИЕ 2019

W3 собственные слова о XHTML:

"Существует более новая спецификация, которая рекомендуется для нового принятия вместо этой спецификации. Новые реализации должны следовать самой последней версии спецификации HTML ".

Итак, вы должны использовать HTML 5. *