XHTML
XHTML (Extensible HyperText Markup Language), разработанный Консорциумом Всемирной паутины (W3C) в 2000 году, является расширенной версией популярного HTML. Это тот же HTML, но определённый как приложение XML, что объединяет преимущества как HTML, так и XML.
XHTML сохраняет все функции HTML, но вводит более строгие правила создания страниц, что позволяет делать сайты независимыми от устройства отображения и браузера. Это означает, что сайт будет корректно отображаться во всех современных браузерах и на различных платформах, таких как компьютеры, смартфоны, КПК и т. д.
XHTML поддерживается всеми современными браузерами.
Отличия между HTML и XHTML
Вы всегда должны использовать <!DOCTYPE ....>. Документ XHTML должен содержать объявление Doctype XHTML. Другие обязательные элементы — теги
<html>,<head>,<title>и<body>.Пример документа XHTML с обязательными элементами:
XHTML против 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>- Элементы XHTML следует вставлять корректно. В документе XHTML нельзя неправильно вкладывать элементы друг в друга. Это должно выглядеть так:
Вложение элементов в XHTML
<strong>
<em>This text is bold and italic</em>
</strong>- В отличие от HTML, где иногда можно опустить закрывающий тег, в XHTML закрывающий тег обязателен всегда и везде:
Закрывающие теги в XHTML
A break: <br/>
A horizontal rule: <hr/>
An image: <img src="smile.gif" alt="Always smile" />- В XHTML различаются теги в нижнем и верхнем регистре. Чтобы избежать путаницы, все теги, а также их атрибуты должны быть набраны строчными (маленькими) буквами:
Теги XHTML в нижнем регистре
<body>
<p>Some paragraph</p>
</body>- Атрибуты XHTML необходимо писать строчными буквами, например так:
Атрибуты XHTML в нижнем регистре
<table width="100%">- Значения атрибутов необходимо заключать в кавычки, например так:
Значения атрибутов XHTML в кавычках
<table width="100%">- Нельзя сокращать (минимизировать) атрибуты. У сокращённого атрибута не присваивается значение. Атрибуту можно присвоить значение, совпадающее с его именем. Это не должно выглядеть так:
Присваивание атрибутов в XHTML
<input type="checkbox" name="flower" value="rose" checked />Вместо этого это должно выглядеть так:
Пример присваивания атрибутов в XHTML
<input type="checkbox" name="flower" value="rose" checked="checked" />- Лучше использовать атрибут
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)?