可能<! - ?xml ... - >是dtd的第一行?

时间:2016-07-19 09:25:14

标签: xml dtd xml-dtd

该行是否是外部dtd的第一行?我对此有争议,但我们找不到类似dtd语言规范的来源来获得解决方案。

1 个答案:

答案 0 :(得分:4)

是的,它可以。但这并不是必需的(即使在XML 1.1 DTD中)。

来自spec

  

格式良好约束:外部子集

     

外部子集(如果有)必须与extSubset的生成匹配。

规范将extSubset定义为:

[30]  extSubset        ::=      TextDecl? extSubsetDecl 
[31]  extSubsetDecl    ::=      ( markupdecl | conditionalSect | DeclSep)*

TextDecl(允许在上面的定义中出现零或一次)为:

[77]  TextDecl         ::=      '<?xml' VersionInfo? EncodingDecl S? '?>'