Атрибут xmlns тега <svg>
Описание
Атрибут xmlns (XML Namespace) определяет пространство имен XML для элемента <svg>. Это обязательный атрибут для SVG-документов, который указывает, что элемент и его содержимое принадлежат к SVG-спецификации.
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<circle cx="50" cy="50" r="40" fill="#3498db"/>
</svg>
Основные пространства имен:
| Пространство имен | Назначение |
|---|---|
http://www.w3.org/2000/svg |
Основное пространство имен для SVG |
http://www.w3.org/1999/xlink |
Для ссылок и внешних ресурсов |
Особенности работы:
- Обязателен для валидного SVG-документа
- Должен быть указан в корневом элементе <svg>
- В HTML5 может опускаться при встроенном SVG
- Определяет доступные элементы и атрибуты
Пример с XLink:
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="100" height="100">
<image xlink:href="logo.png" width="100" height="100"/>
</svg>
Рекомендации:
- Всегда указывайте xmlns для автономных SVG-файлов
- Для HTML5 с встроенным SVG можно опустить
- Добавляйте xlink, если используете внешние ресурсы
- Проверяйте валидность через валидатор W3C
Ограничения:
- Неправильный namespace может сломать отображение
- XLink устарел в SVG 2 (используйте href напрямую)
- В HTML5 требуются другие правила объявления
Примечание: Для современных браузеров в HTML5 документах xmlns часто можно опустить, но для кросс-браузерной совместимости лучше его указывать.