- DTD文檔定義
- DTD元素定義
- DTD屬性定義
- DTD實體引用定義
- XML和DTD
文中大寫是強制的,請務必遵守。
文檔定義有兩種:
- <!DOCTYPE root [ content ]>
- <!DOCTYPE root SYSTEM " path/filename.dtd " >
由前兩種混合產生第三種定義方式: - <!DOCTYPE root SYSTEM " path/filename.dtd " [ content ] >
由于一些DTD存在互聯網上,供大家使用,所以第二種定義方式產生了一種變體:
2'. <!DOCTYPE root PUBILC "dtd_name" " path/filename.dtd" >
文檔元素定義:
<!ELEMENT name rule>
rule有四種形式:
- EMPTY 不能包含子元素和文本,但可以有屬性。比如<img>標簽
- ANY 包含任何在DTD中定義的元素內容
-
PCDATA 可包含任意數據,但不能包含子元素
- 其他類型,自由組合
插曲:修飾符(規則類似于正則)
1. ()分組
2. | 二選一
3. + 一次以上
4. * 0或多次
5. ? 0或1
6. , 順序出現
文檔屬性定義:
<!ATTLIST element_name
attr_name attr_type attr_value
attr_name attr_type attr_value
常見type:
- CDATA (字符數據)
- (en1 | en2 | en3...)(枚舉其中一個)
- ID 唯一
- ENTITY (一個實體)
四種value:
- 值 屬性默認值
-
REQUIRED 必需的
-
IMPLIED 非必需
-
FIXED 固定的
DTD實體(兩種):
- 引用實體定義---- <!ENTITY name "content">, 調用語法&name;
- 參數實體定義----<!ENTITY % name "content">,調用語法:%name;
XML和DTD的關系:
DTD是XML他爹,爹是有必要管著約束著兒子哪些該做、哪些不該做。
檢測DTD概念掌握情況:使勁點
參考文章:DTD詳解