HTML и XHTML – основные отличия. Что такое XHTML? Ошибки в XHTML и отличия XHTML от HTML
И HTML , и XHTML — это языки для создания веб-страниц. HTML построен на основе SGML , а XHTML — на основе XML . Они похожи на две стороны одной медали. XHTML был создан из HTML с целью соответствия стандартам XML . Следовательно, XHTML является более строгим по сравнению с HTML и не позволяет отступать от правил написания кода.
Причиной разработки XHTML послужила путаница с некоторыми тегами. Страницы, написанные на HTML , выводились в разных браузерах по-разному.
Сравнительная таблицаHTML | XHTML | |
Определение (из Википедии) | HTML или HyperText Markup Language — это основной язык разметки для создания веб-страниц и других документов, которые могут быть просмотрены в браузере. | XHTML (Extensible HyperText Markup Language) — это семейство языков XML-разметки, которые продолжают и расширяют Hypertext Markup Language (HTML), на котором написаны веб-страницы. |
Расширения файлов | .html, .htm. | .xhtml, .xht, .xml, .html, .htm. |
Формат использования | текст/html. | приложение/xhtml+xml. |
Разработан | W3C и WHATWG. | World Wide Web Consortium. |
Тип формата | Формат документов. | Язык разметки. |
Расширен из | SGML. | XML, HTML. |
Расшифровка | Язык разметки гипертекста. | Расширяемый язык разметки гипертекста. |
Приложение | Приложение Standard Generalized Markup Language (SGML). | Приложение XML. |
Функции | Веб-страницы написаны на HTML. | Расширенная версия HTML, более строгая, основанная на XML. |
Поведение | Гибкие фреймворки не требуют анализа синтаксиса HTML. | Ограничен правилами XML и требует их соблюдения. |
Происхождение | Предложен Тимом Бернерсом-Ли в 1987 году. | Рекомендация World Wide Web Consortium 2000 года. |
Версии | HTML 2, HTML 3.2, HTML 4.0, HTML 5. | XHTML 1, XHTML 1.1, XHTML 2, XHTML 5. |
HTML является основным языком разметки веб-страниц. Он создает структурированные документы, выделяя в них такие элементы, как заголовки, списки, ссылки, цитаты и т.д. Это позволяет встраивать изображения и объекты для создания интерактивных форм. HTML задается с помощью тегов в угловых скобках — например, . Также в его коде могут содержаться скрипты, написанные на JavaScript .
XHTML
представляет собой семейство языков XML
, которые расширяют или продолжают версии HTML
. Они не допускают пропусков любых тегов или минимизации атрибутов. XHTML
требует, чтобы каждому открывающемуся тегу соответствовал закрывающийся тег в корректном порядке. Например, если в языке гипертекста допускается использование одиночного тега
, то в XHTML
в отличие от HTML
нужно написать тег
. В этом и заключается отличие.
Синтаксис HTML состоит из следующих компонентов: открывающий и закрывающий тег, атрибуты элементов (задаваемые в тегах ), текстовый и графический контент. HTML-элемент — это все, что находится между тегами, включая сами теги.
Документ XHTML содержит только один корневой элемент. Все элементы, включая переменные, должны быть написаны в нижнем регистре, а присвоенные значения — заключены в кавычки, закрыты и вложены. В XHTML это является обязательным требованием — в отличие от HTML . Объявление DOCTYPE XHTML определяет правила для документов, которым необходимо следовать.
Основной синтаксис HTML
допускает использование множества сокращений, чего не допускается в XHTML
. Например, элементов, для которых необязательно наличие и открывающегося, и закрывающегося тега. XHTML
требует, чтобы все элементы имели и открывающийся, и закрывающийся тег. В то же время XHTML
вводит новые сокращения: тег XHTML
может быть открыт и закрыт с помощью косой черты (
).
Введение такого синтаксиса, который не используется в объявлениях SGML
для HTML 4.01
, могло привести к путанице в приложениях на ранних стадиях. Чтобы решить эту проблему, нужно использовать пробел перед закрытием тега:
.
HTML и XHTML могут быть задокументированы совместно. И HTML 4.01 , и XHTML 1.0 имеют три подспецификации — строгую, нестрогую и фрэймовую. Отличие документов HTML и XHTML заключается в декларировании документов. Другие отличия синтаксические. HTML допускает отсутствие закрывающегося тега, пустые элементы без закрывающегося тега. Расширяемый язык разметки гипертекста очень строг в отношении открывающихся и закрывающихся тегов XHTML . Он использует встроенный язык определения функционала атрибутов. Все требования к синтаксису XML соблюдаются в XHTML -документе.
Но эти различия проявляются только тогда, когда XHTML -документ используется как приложение XML ; то есть как MIME-типы приложение / XHTML + XML , приложение / XML или текст / XML . Документ XHTML , используемый как MIME-тип текст / HTML должен интерпретироваться как HTML , так что в данном случае применяются правила HTML . CSS , написанный для XHTML , используемого, как MIME-тип текст / HTML , может работать некорректно в документе, который применяется как, как MIME-тип приложение / XHTML + XML . Для получения дополнительной информации о MIME-типах ознакомьтесь с соответствующей документацией.
Это может быть важно, когда вы используете документы XHTML , как текст / HTML . Если не знать о данных различиях, вы можете создать CSS , который не будут работать как ожидается, если документ используется, как XHTML .
Там, где встречаются термины «XHTML » и «XHTML document «, предполагается, что в оставшейся части этого раздела они определяют использование разметки XHTML , как MIME-тип XML . XHTML-разметка , используемая в качестве текста / HTML , является HTML-документом .
Как перейти с HTML на XHTML- Включите атрибуты xml:lang и lang для элементов, устанавливающих язык;
- Используйте синтаксис пустого элемента для элементов, указанных в HTML , как пустые;
- Используйте дополнительный пробел в тегах пустых элементов: ;
- Используйте закрывающиеся теги для элементов, которые могут содержать контент, но являются пустыми: ;
- Не включайте объявление XML .
Чтобы понять, чем отличается HTML от XHTML , рассмотрим преобразование документа XHTML 1.0 в HTML 4.01 . Для этого необходимо выполнить следующие действия:
- Язык для элемента должен быть указан с помощью атрибута lang , а не атрибута XHTML xml:lang ;
- Удалите пространство имен XML (xmlns=URI ). HTML не имеет средств для работы с пространствами имен;
- Измените объявление типа документа с XHTML 1.0 на HTML 4.01 ;
- Удалить объявление XML , если оно присутствует. Как правило, это: ;
- Убедитесь в том, что для MIME-типа документа задано: text/html . И в HTML , и в XHTML , это задается в HTTP-заголовке Content-Type , отправляемом сервером;
- Измените синтаксис пустого элемента XML
на стиль пустого элемента HTML
(с
на
).
Перевод статьи «HTML vs XHTML » был подготовлен дружной командой проекта
Дата: 21.09.2008
Нет нет… Разница не только в количестве букв. HTML – это стандртный язык разметки документов во Всемирной паутине, так же HTML является приложением SGML (стандартного обобщённого языка разметки). А XHTML в свою очередь - это расширяемый язык разметки гипертекста, созданный на базе XML. Главное их различие состоит в том, что XHTML в отличие от HTML использует синтаксис XML. То есть XHTML требует более строгих синтаксических правил разметки нежели HTML.
Преимущество XHTML в том, что анализ документа XHTML проще и быстрее из-за использования строгих правил синтаксиса, обработка XHTML возможна даже на мобильных телефонах с небольшими ресурсами.
Основные правила XHTML:1.
Все элементы разметки (теги) должны быть закрыты (например: ). Одиночные теги (такие как
, ) должны иметь “/” в конце (например:
);
2. Должна соблюдаться корректная вложенность элементов (тегов).
3. Имена элементов и атрибутов должны быть в нижнем регистре (например: вместо ).
4. Символы “