Самая большая проблема, с которой вы столкнетесь, - это совместимость браузера.Если вам требуется поддержка более старых версий IE (а большинству общедоступных веб-сайтов потребуется), вы не сможете использовать SVG без использования хаков Javascript, поскольку браузер его не поддерживает.
Кроме того, SVGне поддерживается в браузере Android до версии 3.0, которая в настоящее время учитывает практически все мобильные телефоны Android, за исключением нескольких планшетов.Если вам нужно их поддерживать, то опять-таки SVG не является решением.
Если вы согласны не поддерживать эти браузеры (или если вы можете разработать запасное решение), тогда сделайте это.
С точки зрения удобства обслуживания, я рекомендую создать вашу кнопку с помощью векторного графического редактора, который можно экспортировать в SVG.Будет намного проще поддерживать, если у вас есть исходный файл, который вы можете редактировать в графической среде, чем если вы пытаетесь редактировать SVG-разметку напрямую.
С точки зрения проверки, причина, по которой выполучать ошибки из-за того, как вы встраиваете SVG в ваш HTML.Не следует определять заголовок XML для SVG, когда он внедрен таким образом, поскольку заголовок XML должен всегда отображаться только в качестве первой строки документа XML.
Если весь документ является XML (т. Е.xhtml), тогда вам нужно поместить определения пространства имен для xhtml и SVG вверху документа.Если документ не является XML (то есть простым HTML), тогда вам вообще не нужно объявление XML.
Следующее будет работать во всех браузерах, поддерживающих встроенный SVG:
<html>
<head>...</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
....svg content here....
</svg>
</body>
</html>
Это должно решить ваши проблемы с проверкой.
Если SVG должен быть загружен из внешнего файла, то он должен включать декларацию XML.