Атрибут xmlns тега <html>


Описание

Атрибут xmlns в теге <html> определяет XML-пространство имен (XML Namespace) для документа. Хотя он является обязательным для XHTML, в обычных HTML5-документах его использование не требуется.

Пример для XHTML:
<!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"> <!-- Содержимое XHTML-документа --> </html>

Для обычного HTML5:

<!DOCTYPE html> <html> <!-- Содержимое HTML5-документа --> </html>

Ключевые различия:

Характеристика XHTML HTML5
Требуется xmlns Да Нет
Тип документа application/xhtml+xml text/html
Синтаксис Строгий XML Более гибкий

Когда может потребоваться xmlns:

  • При работе с XHTML-документами
  • При добавлении других XML-пространств имен (SVG, MathML)
  • Для совместимости с некоторыми устаревшими системами

Пример с дополнительными пространствами имен:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"> <body> <svg:svg width="100" height="100"> <svg:circle cx="50" cy="50" r="40" fill="red"/> </svg:svg> </body> </html>

Рекомендации:

  • Для обычных HTML5-документов не указывайте xmlns
  • При работе с XHTML строго следуйте спецификациям
  • Для современных проектов используйте HTML5
  • При смешивании XML-технологий явно объявляйте пространства имен

Примечание: Хотя атрибут xmlns был важен в эпоху XHTML, современные HTML5-документы не требуют его указания. Браузеры корректно обрабатывают HTML-документы без объявления пространства имен.