您是否可以将XML注释作为SVG文件的第一行?例如:
<!-- Timestamp 1434061994 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg...
这是否违反SVG规范?或者它是否会失败验证或者这会导致我在网站上实现这一点时没有看到的任何问题?
答案 0 :(得分:2)
是的,可以将注释作为SVG文件中的第一行,但前提是没有XML声明(<?xml version="1.0" encoding="UTF-8"?>
)。
XML文件中的XML declaration之前不会出现任何内容。最多只有一个XML声明可以出现在文件中,如果使用XML声明,那么它必须位于文件的最顶层。 XML声明之前的任何内容(包括注释)都会阻止XML well-formed并导致错误,例如following diagnostic by Xerces-J:
处理指令目标匹配&#34; [xX] [mM] [lL]&#34;不是 允许的。
如果在XML声明之前出现注释,那么XML格式不正确,如果XML格式不正确,则SVG is not conforming。
最后说明: XML声明是可选的。除非您要指定1.0以外的版本或UTF-8以外的编码,否则您不必拥有XML声明在XML(或SVG)文件中。