В течение нескольких лет на курсах "Веб-дизайн" и "ММТвО" мы брали за основу язык XHTML 1.0 в строгом варианте и приучались соблюдать требования стандарта языка.
Это означало, что базовым вариантом правильной страницы был вот такой код, являющийся well-formed XML и соответствующий DTD:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Пример страницы XHTML 1.0 Strict</title>
</head>
<body>
<h1>Заголовок страницы</h1>
<p>Абзац этой страницы<br /></p>
</body>
</html>
Как указывает К.О., код достаточно громоздкий.
К счастью, наступают более веселые времена. Как
подсказывает нам Гугл, пришла пора обходиться легким кодом и экономить на буковках. Да, закрывать можно не все теги, да, некоторые даже можно целиком опустить.
<!DOCTYPE html>
<title>Байты-деньги!</title>
<p>Так-то
Если это пропустить через валидатор W3C (выбрав, естественно, HTML5), то мы получим православную зеленую полоску.
Отметим, что браузер автоматически
создает в своей DOM-структуре недостающие элементы. И что кодировка по умолчанию - UTF-8. При валидации это незаметно. Однако, когда мы используем XML-документы для анализа и извлечения данных, на этот момент надо обращать внимание.