XHTML (EXtensible HyperText Markup Language, расширяемый язык разметки гипертекста) - язык разметки веб-страниц, по возможностям сопоставимый с HTML, но с более строгим синтаксисом.
В XHTML сохранены все особенности HTML, однако привнесены более строгие правила создания страниц, что позволяет делать сайты независимыми от устройства отображения и браузера. Это значит, что сайт будет корректно отображаться во всех современных браузерах и платформах вроде компьютеров, смартфонов, КПК, и др.
XHTML поддерживается во всех современных браузерах.
Отличие HTML и XHTML
При написании кода XHTML используется характерный для HTML синтаксис. Разница между HTML и XHTML состоит в наборе некоторых обязательных правил.
Структура документа
- Объявление типа документа (DTD) <!DOCTYPE> является обязательным
- Наличие атрибута xlmns (указывает на пространство имен xml) является обязательным
- Теги <html>, <head>, <title> и <body> являются обязательными.
Пример
<!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>
</head>
<body>
Содержание страницы
</body>
</html>
XHTML элементы
- Вложенность тегов должна быть правильной.
XHTML критично относится к некорректной вложенности одного тега в другой и расположение тега в не соответствующем контейнере. К примеру, в разметке тексте <p> Lorem <b><i> ipsum dolor sit </b></i> amet </p> есть ошибка, тег </b> должен быть расположен после тега </i>, а не предшествовать ему.
- Все теги должны быть закрыты.
В отличие от HTML, где допускается в некоторых случаях опускать закрывающий тег, в XHTML закрывающий тег требуется всегда и везде.
<br /> - break
<hr /> - horizontal line
<img src="image.jpg"/> - image
- Все теги должны быть набраны в нижнем регистре
В XHTML теги записанные в верхнем и нижнем регистре различаются. Чтобы не возникало путаницы, все теги должны, а также их атрибуты должны быть указаны в нижнем регистре.
- В XHTML документе должен быть как минимум один корневой элемент.
XHTML атрибуты
- Все атрибуты должны быть набраны в нижнем регистре (строчными символами).
- Значения любых атрибутов необходимо заключать в кавычки.
Это правило есть и в HTML, однако отсутствие кавычек не влияет на корректность кода, а в XHTML заключать в кавычки значения атрибутов надо обязательно.
<table width="200" border="1" cellpadding="5" cellspacing="0">
- Запрещается использование сокращенных атрибутов тегов.
Сокращенным называют атрибут, которому не присвоено значение. Атрибуту можно присвоить атрибуту значение, совпадающее с названием. К примеру, вместо checked (HTML) используется checked="checked" (XHTML).
- Вместо атрибута name следует указывать id.
В XHTML атрибут name частично вышел из употребления, поэтому вместо него рекомендуется использовать id.