Корневой элемент

Автор: Евгений Рыжков и Татьяна Головко Дата публикации: 12.03.2011

HTML страницы — это куча вложенных друг в друга элементов. Структура документа схожа с деревом. Некоторые элементы являются сестринскими — как две соседние ветки одного дерева. Некоторые элементы могут иметь «детей» — другие элементы. Это как маленькая ветка растет от более крупной. Элементы, которые не имеют детей, называются листовыми узлами (leaf node). Если посмотреть на это все в обратную сторону, то у детей есть свои «родители» (parent node). Родитель всех родителей — это корневой элемент (root element). В HTML корневым всегда является элемент <html>.

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

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

В такой разметке нет ничего плохого. Если она тебе нравится, можешь продолжать ее использовать. В HTML5 это код будет валидным. Но некоторые части этой записи морально устарели и поэтому можно их удалить, сократив тем самым код на несколько байт.

Первое — это атрибут xmlns. Он пришел из XHTML 1.0. Атрибут говорит, что элементы этой страницы находятся в пространстве имен XHTML (http://www.w3.org/1999/xhtml). Но элементы HTML5 всегда в этом пространстве, так что надобности в этом атрибуте больше нет. Страница будет отображена одинаково с этим атрибутом и без него.

В общем, можно смело выбрасывать xmlns:

<html lang="en" xml:lang="en">

Осталось два атрибута: lang и xml:lang. Оба определяют язык, использующийся на данной странице. En означает английский. Так зачем же целых два атрибута, обозначающих одно и тоже? Это снова пришло из XHTML. В HTML5 толку от xml:lang уже никакого.

Поэтому можно писать так:

<html lang="en" >

Ну вот собственно и все, что я хотел сказать по этому поводу.

Куда дальше