Даже когда 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, но они специально обрезаны)
Ответ 5
Вы не должны использовать XHTML для обслуживания контента в Интернете (или в любой сети, включая клиентов Internet Explorer); см. Отправка XHTML в виде текста /html считается вредным для полного обоснования.
Ответ 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. *