如何验证SVG文档是否正确?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (53)

我使用了一个名为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可以使用它可能会有用。)

提问于
用户回答回答于

你可以使用例如http://validator.nu。由于你的文件是独立的,因此请选择xml解析,将RNG url粘贴到架构文本字段中(你正在查看的架构url可以在相关规范中找到,在本例中为SVG 1.2 Tiny:http : //www.w3.org /TR/SVGTiny12/relaxng/Tiny-1.2.rng)。

即使你的三行代码片断也是无效的SVG 1.2 Tiny内容(x和y属性在Tiny中的<svg>元素上是不允许的)。你应该在某处添加一个链接到你的文件,否则很难说它应该是什么样子。

扫码关注云+社区