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 />
To top