可以在 XML 文件中的 XML 声明之前放置注释吗?
<!--
Is this bad to do?
-->
<?xml version="1.0" encoding="utf-8"?>
<someElement />
可以在 XML 文件中的 XML 声明之前放置注释吗?
<!--
Is this bad to do?
-->
<?xml version="1.0" encoding="utf-8"?>
<someElement />
不,这不好。
因为每个不附带外部编码信息且不采用 UTF-8 或 UTF-16 编码的 XML 实体必须以 XML 编码声明开始,其中第一个字符必须是 '< ?xml',任何符合要求的处理器都可以检测到,在两个到四个八位字节的输入,以下哪种情况适用。
啊,但是,你说,F 部分是非规范性的。
好吧,第 2.1 节给出了格式良好的 XML 文档的产生式,因此:
[1] document ::= prolog element Misc*
...在第 2.8 节中,我们得到了“prolog”的产生式:
[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?
[23] XMLDecl ::= '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
所以,你可以省略< ?xml 声明,但你不能在它前面加上任何东西。
(顺便说一句,“杂项”是评论所属的类别)。
根据此页面,这是非法的:
在向您的 XML 代码添加参考注释时,请记住它们不能出现在文档的最顶部。在 XML 中,只有 XML 声明可以先出现:
<?xml version="1.0"?>
XML 声明指定文档编码,这对于注释和结构化 XML 一样重要。因此,应先声明。如果许多 XML 阅读器能够处理这个问题,我不会感到惊讶,但这是个坏主意。
不,这不符合 XML 标准,但注释很好。