- 1 文檔類型定義
- 2 語法
- 3 文檔類型聲明(DOCTYPE)
- 4 標記聲明
- ? CDATA
- ? PC數據
- ? 元素聲明(ELEMENT)
- ? 屬性聲明(ATTLIST)
- ? 實體聲明(ENTITY)
- ? 符號聲明(NOTATION)
- ? NMTOKEN
- ? 參數實體
- ? 條件部分
文檔類型定義
編輯文檔類類型定義,簡稱DTD,是用于聲明某種類型文檔的一組規則。 文檔類型是一類相似的文檔,例如電話簿或庫存記錄。 文檔類類型定義由元素類型、元素屬性、實體和符號組成。 具體而言,這意味著順序、元素的嵌套和屬性內容的類型在 DTD 中定義,即文檔的結構。
DTD 指定從它們派生的 SGML 或 XML 應用程序的語法,例如 HTML 或 XHTML。 這種語法通常采用比 SGML 或 XML 語法更不通用的形式。
語法
編輯DTD 的語法和語義是 SGML 和 XML 規范的一部分。 閱讀文檔時已經檢查了 DTD。 在 SGML 中,每個文檔都必須分配一個 DTD。 在 XML 中,此映射是可選的。 基于 DTD () 的文檔確保所用 DTD 的正確性,即預期的語法和語義。 數據的正確性在這里是最重要的。 沒有外部引用 DTD 或封閉 DTD 的文檔僅在閱讀時檢查格式是否正確。 快速可讀性是這里的首要任務。 內容可能不同于所需的語法和語義。 在這兩種情況下,隨后都可以使用其他流程檢查數據質量。
文檔類型聲明(DOCTYPE)
編輯文檔類型聲明提供文檔和 DTD 之間的鏈接。 文檔類型聲明在根元素之前的文檔開頭給出。 DTD 可以作為外部文件引用(external DTD)或直接嵌入到文檔中(internal DTD)。
文檔類型聲明的語法在 SGML 和 XML 中:
SGML 也允許以下沒有系統標識符的變體:
雖然 HTML5 中不再有 DTD,但文檔類型聲明仍然以簡化形式存在:
系統標識符 (SYSTEM),在示例中為條目 file.dtd,包含外部 DTD 的文件名。 文件名可以指定為任何 URI。
公共標識符 (PUBLIC) 包含 DTD 的公知標識符。 例如,標識符“-//W3C//DTD XHTML 1.0 Strict//EN”xxx地聲明了 XHTML 的 DTD。 如果標識符為系統所知,則系統使用與其相關聯的 DTD,而不從系統標識符加載直接指定的 DTD。 這避免了在 Web 瀏覽器中重復加載 DTD。
該條目標識內部 DTD 或對 DTD 的添加。
標記聲明
編輯在 DTD 中,可以使用元素類型、屬性列表、實體和符號以及文本塊的聲明來定義文檔結構。 可以使用包含 DTD 部分的特殊參數實體,并且只允許在 DTD 中使用。
文本塊是 CDATA 或 PCDATA。
結構元素(構建塊)通過屬性分配定義:
CDATA
CDATA(英文字符數據)表示未解析的文本塊。 CDATA 區域的語法是:
在字符數據區中,除了結尾的識別模式]]>之外的所有字符都是允許的。
PC數據
關鍵字#PCDATA 用于 PCDATA(已解析的字符數據)。 這標記了一個文本塊,該文本塊還可以包含對解析器的進一步說明。 該文本塊的內容由解析器進行句法分析。 在對面Atz 到 CDATA 可能只包含不引入標記、聲明或處理指令的字符。
元素聲明(ELEMENT)
元素類型聲明定義了一個元素及其可能的內容。 只有在 DTD 中定義的元素才能出現在有效文檔中。
可以通過指定其他元素名稱和一些關鍵字和字符來指定元素的內容。
屬性聲明(ATTLIST)
屬性在屬性列表 中指定。 被定義。 屬性列表包含屬性名稱、各個屬性的類型和規格,以空格或換行符分隔。
屬性規范可用于指定屬性是否必須出現 (#REQUIRED) 或不出現 (#IMPLIED) 或包含固定值 (#FIXED) 以及如果未為標記指定屬性
實體聲明(ENTITY)
實體是可以在 DTD 或文檔中使用的字符串或外部文檔的命名縮寫。 &Name; 形式的實體; 被實體聲明的內容所取代。 (有關常見用法,請參閱實體(標記語言)。)
符號聲明(NOTATION)
符號是用于解釋未由解析器直接處理的外部數據的提示。 例如,符號可以指圖像的文件格式。
NMTOKEN
NMTOKEN(名稱令牌)與標識符相關,但對命名規則更為寬松。 例如,在 NMTOKEN 的情況下,允許帶有前導數字或前導點的標識符,而在標識符的情況下,首先只允許字母、表意文字和下劃線。 因此每個標識符也是一個 NMTOKEN,但反之則不然。NMTOKEN 的
參數實體
參數實體包含使用 %Name 指定的命名字符串; 幾乎可以在 DTD 中的任何地方使用。 通過這種方式,例如,可以將外部文件集成到 DTD 中,并且可以簡化出現不止一次的組件。 參數實體像普通實體一樣聲明,在元素名稱前有一個百分號。
條件部分
條件部分是打開或關閉聲明的構造。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/371938/