HTML vs XHTML
XHTML — более строгая версия HTML, основанная на XML.
Что такое XHTML?
- XHTML расшифровывается как EXtensible HyperText Markup Language (расширяемый язык гипертекстовой разметки).
- XHTML — это более строгая версия HTML, основанная на XML.
- XHTML представляет собой HTML, определённый как XML‑приложение.
- XHTML поддерживается всеми основными веб‑браузерами.
Зачем нужен XHTML?
XML — это язык разметки, в котором все документы должны быть правильно размечены (должны быть «правильно сформированными»).
XHTML был разработан, чтобы сделать HTML более расширяемым и гибким для работы с другими форматами данных (например, с XML). Кроме того, браузеры игнорируют ошибки в HTML‑страницах и пытаются отобразить веб‑сайт, даже если в разметке есть какие‑либо ошибки. Поэтому XHTML предусматривает гораздо более строгую обработку ошибок.
Наиболее важные отличия от HTML
- Объявление
<!DOCTYPE>является обязательным. - Атрибут
xmlnsв теге<html>является обязательным. - Теги
<html>,<head>,<title>и<body>являются обязательными. - Элементы должны всегда быть правильно вложены друг в друга.
- Элементы должны всегда закрываться.
- Имена элементов должны всегда записываться строчными буквами.
- Имена атрибутов должны всегда записываться строчными буквами.
- Значения атрибутов всегда должны заключаться в кавычки.
- Минимизация атрибутов запрещена.
XHTML: объявление <!DOCTYPE …> обязательно
Документ XHTML должен содержать объявление XHTML <!DOCTYPE>.
Теги <html>, <head>, <title> и <body> также должны присутствовать, а атрибут xmlns в теге <html> должен указывать пространство имён XML для документа.
Пример
Вот документ XHTML с минимальным набором обязательных тегов:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Заголовок документа</title>
</head>
<body>
здесь какой‑то контент...
</body>
</html>
Элементы XHTML должны быть правильно вложены
В XHTML элементы должны всегда правильно вкладываться друг в друга, например:
Правильно:
<b><i>Какой‑то текст</i></b>
Неправильно:
<b><i>Какой‑то текст</b></i>
Элементы XHTML всегда должны закрываться
В XHTML элементы должны всегда закрываться, например:
Правильно:
<p>Это абзац</p>
<p>Это ещё один абзац</p>
Неправильно:
<p>Это абзац
<p>Это ещё один абзац
Пустые элементы XHTML всегда должны закрываться
В XHTML пустые элементы должны всегда закрываться, например:
Правильно:
Перенос строки: <br />
Горизонтальная линия: <hr />
Изображение: <img src="happy.gif" alt="Весёлое лицо" />
Неправильно:
Перенос строки: <br>
Горизонтальная линия: <hr>
Изображение: <img src="happy.gif" alt="Весёлое лицо">
Имена элементов XHTML должны быть записаны строчными буквами
В XHTML имена элементов всегда должны быть записаны строчными буквами, например:
Правильно:
<body>
<p>Это абзац</p>
</body>
Неправильно:
<BODY>
<P>Это абзац</P>
</BODY>
Имена атрибутов XHTML должны быть записаны строчными буквами
В XHTML имена атрибутов всегда должны быть записаны строчными буквами, например:
Правильно:
<a href="https://htmlclub.ru/docs/html/">Посетите наш учебник по HTML</a>
Неправильно:
<a HREF="https://htmlclub.ru/docs/html/">Посетите наш учебник по HTML</a>
Значения атрибутов в XHTML должны заключаться в кавычки
В XHTML значения атрибутов всегда должны заключаться в кавычки, например:
Правильно:
<a href="https://htmlclub.ru/docs/html/">Посетите наш учебник по HTML</a>
Неправильно:
<a href=https://htmlclub.ru/docs/html/>Посетите наш учебник по HTML</a>
Минимизация атрибутов в XHTML запрещена
В XHTML минимизация атрибутов запрещена:
Правильно:
<input type="checkbox" name="vehicle" value="car" checked="checked" />
<input type="text" name="lastname" disabled="disabled" />
Неправильно:
<input type="checkbox" name="vehicle" value="car" checked />
<input type="text" name="lastname" disabled />