Предполагая, что вы проверяете по SVG 1.1 2-е изд. DTD по его официальному URL, показанному ниже, вы можете использовать расширенные возможности настройки SVG DTD, повторно определив («выгрузив») значение пустой строки по умолчанию для объекта параметра SVG.External.attrib
, чтобы оно содержало фрагменты объявления списка атрибутов. для ваших пользовательских атрибутов (плюс объявление xmlns:foobar
):
<!DOCTYPE svg
SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY % SVG.External.attrib
"xmlns:foobar CDATA #IMPLIED
foobar:foo CDATA #IMPLIED">
]>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:foobar="http://foobar.com">
<path d="M 0 0 z" foobar:foo="bar"/>
</svg>
SVG DTD в конечном итоге расширяет текст замены для SVG.External.attrib
в отдельных объявлениях для элементов SVG. Могут быть более подходящие объекты параметров для настройки / перезаписи в зависимости от вашей цели, например SVG.Core.extra.attrib
.
Обратите внимание, что документ, когда он запускается через xmllint --valid --loaddtd
, выдает несвязанные предупреждения на моем компьютере с Ubuntu, где SVG DTD кэшируется локально, о чем свидетельствует быстрый ответ xmllint
по сравнению с извлечением DTD через http (что приводит к другие предупреждения для меня).