Задать вопрос

Нужно ли указывать doctype в svg файле (именно в отдельном файле, а не в инлан-теге)?

собственно вопрос вы прочли (наверное), оптимизирую svg картинку (удаляю лишнее, объединяю в группы и прочее-прочее), столкнулся с этим пример svg кода
кому лень переходить по ссылке - у элемента svg есть атрибут baseProfile - у меня проблемы с английским, но по косвенным уликам, этот атрибут может заменить собой doctype (проверил картинку без doctype валидатором - ошибок нет). В плане оптимизации файла это мелочь, но вот хотелось бы просто для себя узнать и успокоится:
Обязательно ли указывать doctype в svg файле?
P.S. версия svg 1.1
P.S.S. можете дать просто ссылку - я умею читать
  • Вопрос задан
  • 3637 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@alltiptop
Валидным, конечно, будет полный вариант, но все браузеры и программы понимают и без метаданных:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
     baseProfile="full"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:ev="http://www.w3.org/2001/xml-events"
     width="100%" height="100%">
<rect fill="white" x="0" y="0" width="100%" height="100%" />
<rect fill="silver" x="0" y="0" width="100%" height="100%" rx="1em"/>
</svg>

Достаточно будет (не валидно, но везде работает)
<svg version="1.1"
     xmlns="http://www.w3.org/2000/svg"
<!-- некоторые функции и фильтры работают только с указанием соответствующих стандартов, так что выкидывать всё подряд ни в коем случае не стоит -->
     width="100%" height="100%">
<rect fill="white" x="0" y="0" width="100%" height="100%" />
<rect fill="silver" x="0" y="0" width="100%" height="100%" rx="1em"/>
</svg>

Тем более последний вариант можно вставлять непосредственно в html код

Для массовой оптимизации советую SVG Cleaner, практически весь мусор чистит без нареканий и потерь.
Ответ написан
Комментировать
@alwas
Сообщество SVG и в частности разработчик Jonathan Watt пришли к выводу, что в некоторых случаях при применении Mozilla Firefox со встроенным просмотрщиком SVG содержание объявления DOCTYPE может быть источником ошибок. Поэтому они рекомендуют не использовать декларацию DOCTYPE в SVG версий 1.0 и 1.1. Вместо этого рекомендовано включать атрибут baseProfile в корневой элемент svg со значением “full”
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg version="1.1"
     baseProfile="full"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     xmlns:ev="http://www.w3.org/2001/xml-events"
     width="100%" height="100%">
<rect fill="white" x="0" y="0" width="100%" height="100%" />
<rect fill="silver" x="0" y="0" width="100%" height="100%" rx="1em"/>
</svg>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы