簡體   English   中英

在HTML中,文檔類型聲明是一個元素嗎?

[英]In HTML, is the document type declaration an element?

在HTML中,文檔類型聲明是一個元素嗎?

我想不,因為在XML中,文檔類型聲明<!DOCTYPE是prolog的一部分而不是元素。 請參閱https://www.w3.org/TR/xml/#sec-prolog-dtdhttps://www.w3.org/TR/xml/#NT-doctypedeclhttps://stackoverflow.com/a /十五萬六千四百五十八分之五千五百七十九萬六千〇四十零

但Adam Freeman的HTML5權威指南說

DOCTYPE元素告訴瀏覽器它正在處理HTML文檔。 這通過HTML布爾屬性表示:

 <!DOCTYPE HTML> 

沒有

毫無疑問,面向標准的語言是DOCTYPE,稱為元素

HTML5的權威指南 ,盡管它的名字很有吸引力 ,但它的術語卻很草率。

XML

doctypedecl的語法

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

元素的區別明顯不同且不相容:

element   ::= EmptyElemTag | STag content ETag  
STag      ::= '<' Name (S Attribute)* S? '>'
Attribute ::= Name Eq AttValue
ETag      ::= '</' Name S? '>'

HTML5

HTML5規范具有DOCTYPE( WHATWG / W3C )和元素( WHATWG / W3C )的單獨部分,並且絕不會以任何方式混淆DOCTYPE與元素混淆的術語。

文檔類型聲明是標記文檔的序言開頭的語法結構。 在SGML中,通過擴展XML,DTD告訴解析器文檔元素(文檔的“根”元素的名稱),並可選地包含或引用元素,屬性,實體,符號,短引用的標記聲明(SGML)僅),以及文檔中使用的鏈接規則(僅限SGML)。

元素 OTOH是邏輯構造,由開始和結束元素標記組成

在Web瀏覽器中,doctype聲明過去曾用於以奇怪的方式表達HTML版本級別,但HTML5僅接受<!DOCTYPE html><!DOCTYPE html SYSTEM "about:legacy-compat">

標記聲明絕不可以是元素,並且doctype聲明中使用的HTML不是屬性,更不用說用作HTML5樣式的布爾屬性。 你引用的作者完全不知道他在說什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM