Подтвердить что ты не робот

Как проверить корректность документа SVG? (версия 1.2)

Я использовал программу под названием Fritzing, чтобы нарисовать некоторые основные схемы Arduino, а затем экспортировать выходные данные в виде SVG. Это работает так, как ожидалось, но потом я заметил, что вывод SVG выглядит только в некоторых браузерах и только в некоторых версиях Firefox.

Поскольку Fritzing - приложение с открытым исходным кодом, я решил, что могу заглянуть в код (и, возможно, немного помочь).

Но теперь на вопрос, на что должен выглядеть правильный SVG? Какой верификатор в W3C можно использовать для проверки файла?

Я попытался использовать верификаторы, найденные на этой странице: http://validator.w3.org/dev/tests/

Но все они очень жаловались, особенно на версию SVG. Верификаторы, похоже, похожи на версии 1.0 и 1.1, но когда я смотрю на вершину этого файла, похоже, используется версия 1.2?

Это три верхние строки из проблемного файла (переформатированные для удобочитаемости):

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created with Fritzing (http://www.fritzing.org/) -->
<svg width="3.50927in"
     x="0in"
     version="1.2"
     y="0in"
     xmlns="http://www.w3.org/2000/svg"
     height="2.81713in"
     viewBox="0 0 252.667 202.833"
     baseProfile="tiny"
     xmlns:svg="http://www.w3.org/2000/svg">

Есть ли какой-нибудь конкретный верификатор SVG 1.2, который я могу использовать?

Или я попытаюсь проверить SVG, как если бы это был классический XML файл?

(Как замечание, Fritzing, похоже, использует Qt, поэтому, если какой-то QTest я могу использовать, это может быть полезно.)

4b9b3361

Ответ 1

Вы можете использовать, например, http://validator.nu. Поскольку ваш файл является автономным, выберите синтаксический анализ xml, вставьте URL-адрес RNG в текстовое поле схемы (URL-адрес схемы, который вы ищете, можно найти в соответствующей спецификации, в этом case SVG 1.2 Tiny: http://www.w3.org/TR/SVGTiny12/relaxng/Tiny-1.2.rng).

Даже ваш трехстрочный фрагмент недействителен SVG 1.2 Крошечный контент (атрибуты x и y не разрешены в элементе <svg> в Tiny). Вы должны добавить ссылку на свой файл где-нибудь, иначе трудно сказать, как это должно выглядеть.