Атрибут xml:lang тега <article>
Описание
Атрибут xml:lang определяет язык содержимого элемента <article> в XML-документах и XHTML. В обычных HTML-документах следует использовать атрибут lang вместо xml:lang.
<?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" xml:lang="en">
<head>
<title>Пример XHTML</title>
</head>
<body>
<article xml:lang="ru">
<h2>Статья на русском языке</h2>
<p>Этот контент размечен как русскоязычный с помощью xml:lang.</p>
</article>
</body>
</html>
Различия между xml:lang и lang:
| Атрибут | Применение | Рекомендация |
|---|---|---|
xml:lang |
XML/XHTML документы | Используйте только для XHTML |
lang |
HTML документы | Основной способ указания языка |
Современные рекомендации:
- Для обычных HTML5-документов используйте только атрибут
lang xml:langнеобходим только при работе с XHTML- Если используете оба атрибута, значения должны совпадать
- Проверяйте валидность документа при использовании xml:lang
Важно: В HTML5 атрибут xml:lang устарел для HTML-сериализации. Используйте его только если вы работаете с XHTML-документами.
Пример совместного использования (XHTML):
<article xml:lang="de" lang="de">
<h2>Deutscher Artikel</h2>
<p>Dieser Inhalt ist in deutscher Sprache verfasst.</p>
</article>
Обработка браузерами:
| Браузер | Поддержка xml:lang | Приоритет |
|---|---|---|
| Chrome | Да | lang > xml:lang |
| Firefox | Да | lang > xml:lang |
| Safari | Да | lang > xml:lang |
| Edge | Да | lang > xml:lang |
Миграция с XHTML на HTML5:
<!-- XHTML версия -->
<article xml:lang="fr">
<h2>Article en français</h2>
<p>Contenu en langue française.</p>
</article>
<!-- HTML5 версия -->
<article lang="fr">
<h2>Article en français</h2>
<p>Contenu en langue française.</p>
</article>
Совет: Если вы не работаете с XHTML, просто используйте атрибут lang. Он поддерживается всеми современными браузерами и является стандартом для HTML5.
Историческая справка:
xml:langбыл введён в XHTML 1.0 (2000)- В HTML5 (2014) атрибут
langстал основным - Современные веб-приложения почти всегда используют HTML-сериализацию
- XHTML остаётся актуальным только для некоторых XML-приложений
Примечание: Хотя большинство браузеров до сих пор поддерживают xml:lang для обратной совместимости, его использование в новых HTML-проектах не рекомендуется.