我的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来修改我的文档,所以我在根目录中声明了我的命名空间(以及更多):
<svg
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:th="http://www.thymeleaf.org"
...
>
当然,现在eclipse抱怨这个事实,即我的Thymeleaf属性并没有为常见的svg元素定义。
现在我的问题是这里的最佳做法是什么?
我应该打开doctype吗? <!DOCTYPE svg>
我也read here SVG 1.2根本不需要DOCTYPE
所有建议都非常赞赏。
答案 0 :(得分:2)
在使用SVG时,我发现这有助于article关于DON'Ts。 它声明DOCTYPE声明可能会导致问题。这也是SVG 1.2首先省略了doctype的原因 建议将使用过的版本和baseProfile标记为root-element中的属性。 如果您的IDE保持呻吟,请尝试将xml-standalone设置为“yes”;如果没有任何用处,请按照您的建议声明一个空的doctype:
<?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"
//..
>