2016-11-15 62 views
0

W3 documentation开始,<!doctype>的末尾不应该有斜线(例如,<!doctype />),因为它不是必需的void元素,但它是(报价)“特殊指令”。带斜杠的文字类型会打破什么?

但是,即使我不尊重规则上的​​3210语法文件,可以我忽略了这条规则,并把一个斜线上端或浏览器会完全忽略我的doctype? 有一些方法可以知道我的文档类型是否按预期工作?

此外:XML是否也支持doctype,它需要声明?

+0

为什么你需要一个反斜杠? –

+0

我正在构建一个库来生成一些东西,但是'!doctype'运行出所有常见的规则,我需要知道它我真的应该为它创建一个异常,或者我可以将它作为一个空元素来处理。 –

+1

我认为它需要有一个html,像<!DOCTYPE html>,所以把一个/看起来很糟糕。请参阅:https://www.onlinewebcheck.com/check.php?adv=1 –

回答

1

<!DOCTYPE ...>document type declaration;其syntax in the W3C XML Recommendation定义如下:

doctypedecl ::= '<!DOCTYPE' S Name (S ExternalID)? S? ('[' intSubset ']' S?)? '>' 

从未有在文件类型声明的端部的斜线。它显然不是XML元素,它可能在自闭时有一个斜线:<tag/>

HTML 5可能不尊重其他领域的XML规则,但正如引文所示,其对文档类型声明语法的传统支持不允许它具有元素样式的自闭合斜线。

您可以自由发明自己喜欢的任何语法,但如果您偏离标准的XML和HTML 5,将会失去与遵守这些标准的工具的兼容性。不建议。