可以在XML声明之前放置注释吗?

M. *_*ley 28 xml xml-declaration

可以在XML文件中的XML声明之前放置注释吗?

<!--
Is this bad to do?
-->
<?xml version="1.0" encoding="utf-8"?>
<someElement />
Run Code Online (Sandbox Code Playgroud)

Gar*_*ill 45

不,不行.

XML规范的附录F说:

因为每个没有外部编码信息而不是UTF-8或UTF-16编码的XML实体必须以XML编码声明开头,其中第一个字符必须是'<?xml',任何符合标准的处理器都可以在两个之后检测到到四个八位字节的输入,以下哪种情况适用.

啊,但是,F部分是非规范性的,你说.

那么,第2.1节给出了格式良好的XML文档的生成,因此:

[1]     document       ::=       prolog element Misc*
Run Code Online (Sandbox Code Playgroud)

......在第2.8节中我们得到了"prolog"的作品:

[22]    prolog     ::=       XMLDecl? Misc* (doctypedecl Misc*)?
[23]    XMLDecl    ::=      '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'
Run Code Online (Sandbox Code Playgroud)

因此,您可以省略 <?xml声明,但不能在其前面添加任何内容.

(顺便说一句,"杂项"是评论所属的类别).


Atm*_*ons 7

根据这个页面,这是非法的.

  • 你能被捕吗? (13认同)
  • 为此,我被殴打并放入新加坡监狱! (11认同)

jle*_*lew 5

XML声明指定了文档编码,这对于结构XML的注释同样重要.因此,宣言应该先行.如果许多XML读者能够处理这个问题,我不会感到惊讶,但这是一个坏主意.