SVG:public 文档类型与其他名称空间冲突

SVG: public doctype collides with additional namespaces

我的 SVG 文档遇到了一个(可能是微不足道的)问题:
Eclipse 警告我我的文档没有使用 Doctypes,所以我搜索了 W3C's site for their doctypes 并选择了完整的 DTD:
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
问题是我还使用 Thymeleaf 来修改我的文档,所以我在根目录中声明了我的 th-namespace(以及更多):

<svg
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:th="http://www.thymeleaf.org"
    ...
>

当然,现在 eclipse 抱怨我的 Thymeleaf 属性没有为常见的 svg 元素定义。
现在我的问题是这里的最佳做法是什么?
我应该打开文档类型吗? <!DOCTYPE svg>
我还 read here SVG 1.2 根本不需要 DOCTYPE。
非常感谢所有建议。

我发现这篇关于 article 使用 SVG 时不应该做的事情很有帮助。 它指出 DOCTYPE 声明可能会导致问题。这也是 SVG 1.2 首先省略文档类型的原因。
建议将您使用的版本和 baseProfile 标记为根元素中的属性。 如果您的 IDE 一直在抱怨,请尝试将 xml-standalone 设置为 "yes";如果这没有任何用处,请按照您的建议声明一个空文档类型:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE svg>
<svg
    version="1.1"
    baseProfile="full"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:th="http://www.thymeleaf.org"
    //..
>