HTML (HyperText Markup Language) — это язык разметки для создания веб-страниц. XHTML (eXtensible HyperText Markup Language) — это язык разметки, который является переформулировкой HTML в терминах XML.
Основные отличия:
- Синтаксис: XHTML строже, чем HTML. Требуется корректное закрытие всех тегов, использование нижнего регистра для имен тегов и атрибутов, обязательное наличие корневого элемента (в основном,
<html>).
- Парсинг: HTML парсится более гибко, браузеры часто пытаются исправить ошибки. XHTML требует парсинга как XML, при ошибке парсер прекращает работу.
- XML-совместимость: XHTML полностью совместим с XML-инструментами и расширяем за счет пространств имен. HTML не является XML.
- Типы документов (DOCTYPE): В XHTML DOCTYPE обязателен и более строг, указывая на используемую версию. В HTML5 DOCTYPE значительно упрощен.
Пример синтаксиса:
HTML:
html
XHTML:
xml
Исторически XHTML задумывался как замена HTML в эпоху XML, но с появлением HTML5 его популярность снизилась. HTML5 стал более гибким и сохранил обратную совместимость, в то время как XHTML требовал миграции.