Перейти к содержимому

XHTML

XHTML (Extensible HyperText Markup Language), разработанный Консорциумом Всемирной паутины (W3C) в 2000 году, является расширенной версией популярного HTML. Это тот же HTML, но определённый как приложение XML, что объединяет преимущества как HTML, так и XML.

XHTML сохраняет все функции HTML, но вводит более строгие правила создания страниц, что позволяет делать сайты независимыми от устройства отображения и браузера. Это означает, что сайт будет корректно отображаться во всех современных браузерах и на различных платформах, таких как компьютеры, смартфоны, КПК и т. д.

XHTML поддерживается всеми современными браузерами.

Отличия между HTML и XHTML

  1. Вы всегда должны использовать <!DOCTYPE ....>. Документ XHTML должен содержать объявление Doctype XHTML. Другие обязательные элементы — теги <html>, <head>, <title> и <body>.

    Пример документа XHTML с обязательными элементами:

XHTML против HTML

html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    Content of the page
  </body>
</html>
  1. Элементы XHTML следует вставлять корректно. В документе XHTML нельзя неправильно вкладывать элементы друг в друга. Это должно выглядеть так:

Вложение элементов в XHTML

html
<strong>
 <em>This text is bold and italic</em>
</strong>
  1. В отличие от HTML, где иногда можно опустить закрывающий тег, в XHTML закрывающий тег обязателен всегда и везде:

Закрывающие теги в XHTML

html
A break: <br/>
A horizontal rule: <hr/>
An image: <img src="smile.gif" alt="Always smile" />
  1. В XHTML различаются теги в нижнем и верхнем регистре. Чтобы избежать путаницы, все теги, а также их атрибуты должны быть набраны строчными (маленькими) буквами:

Теги XHTML в нижнем регистре

html
<body>
  <p>Some paragraph</p>
</body>
  1. Атрибуты XHTML необходимо писать строчными буквами, например так:

Атрибуты XHTML в нижнем регистре

html
<table width="100%">
  1. Значения атрибутов необходимо заключать в кавычки, например так:

Значения атрибутов XHTML в кавычках

html
<table width="100%">
  1. Нельзя сокращать (минимизировать) атрибуты. У сокращённого атрибута не присваивается значение. Атрибуту можно присвоить значение, совпадающее с его именем. Это не должно выглядеть так:

Присваивание атрибутов в XHTML

html
<input type="checkbox" name="flower" value="rose" checked />

Вместо этого это должно выглядеть так:

Пример присваивания атрибутов в XHTML

html
<input type="checkbox" name="flower" value="rose" checked="checked" />
  1. Лучше использовать атрибут id вместо name. В XHTML атрибут name частично устарел, поэтому рекомендуется использовать атрибут id.

Преимущества XHTML

  • Тот факт, что в XHTML все теги должны быть закрыты и правильно вложены друг в друга, делает код гораздо чище.
  • XHTML использует меньше пропускной способности, что снижает затраты, особенно если на вашем сайте тысячи страниц.
  • Благодаря корректной структуре документы XHTML легко передаются на беспроводные устройства, брайлевские дисплеи и в другие специализированные веб-среды.
  • XHTML работает совместно с CSS, что упрощает создание веб-страниц.

XHTML против HTML

HTML является основным языком разметки для создания веб-страниц, тогда как XHTML, как упоминалось выше, является его расширенной версией. HTML представляет собой приложение языка Standard Generalized Markup Language (SGML), а XHTML — приложение XML. HTML расширен из SGML, а XHTML — из XML и HTML. HTML был создан Тимом Бернерсом-Ли в 1987 году (Википедия), а XHTML был предложен Консорциумом Всемирной паутины в 2000 году (Википедия). Последнее различие между ними заключается в том, что HTML представляет собой гибкую структуру, требующую толерантного к ошибкам специфичного для HTML парсера, тогда как XHTML является ограниченным подмножеством XML, которое необходимо парсить стандартным XML-парсером.

XHTML против HTML5

XHTML чувствителен к регистру, тогда как HTML5, как и HTML, — нет. У XHTML гораздо более сложные doctype-объявления, чем у HTML5. Следующее различие заключается в совместимости с браузерами: HTML5 поддерживается всеми современными браузерами, а XHTML также поддерживается, но требует правильной настройки типа MIME (application/xhtml+xml) для строгого разбора. HTML5 является современным стандартом для всех устройств, тогда как XHTML в значительной степени считается устаревшим. И ещё одно различие заключается в том, что HTML5 более толерантен к ошибкам, чем XHTML.

Практика

Какие характеристики присущи XHTML (Extensible Hypertext Markup Language)?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.