XML數據的底層結構之DTD(理論部分)
1.文檔類型定義DTD(Document Type Definition)是XML結構文件的一種定義方式;
2.DTD定義了可用在文檔中的元素,屬性,和實體,以及它們之間的相互關係;
3.DTD在建立XML文檔中的作用
說說建立一個XML文檔的主要步驟:
(1).命名相關的信息項,把其映射爲相應的元素或屬性.
(2).確定XML文檔的層次結構,即各元素之間的嵌套關係
(3).根據層次結構構造DTD;
(4).根據DTD編寫相應的XML文檔
4.DTD的語法:
<1>.元素定義
(1).元素聲明
形式: <!ELEMENT name content >
說明:其中name爲XML標記的名字,content 爲EMPTY,ANY,描述子元素的順序和重複次數的內容 模型
(2).元素內容的類型
a). EMPTY 類型 :只有屬性沒有字符數據或子元素
b). ANY 類型 : 包含DTD定義的所有其他元素或已編譯的字符數據
c). #PCDATA 類型:不包含其他子元素而只包含字符數據的元素
d). 子元素類型 :包含一系列的子元素,子元素的內容模型用於指定某個元素可以包含哪些子元素,其結構有兩種:序列和選擇
e).混合類型 :既包含子元素又包含已編譯的字符數據
(3).元素出現次數的指示符
"?" 元素可以出現0次或者1次;
“*” 元素可以不出現,或者出現一次或多次
"+" 元素必須出現至少一次,或者可以說出現一到多次
<2>.屬性定義
(1).屬性聲明
語法: <! ATTLIST Element_name Attribute_name Type Default_value >
說明:ATTLIST 用於定義元素所具有的屬性,
Element_name 是元素名;
Attribute_name 是該元素所具有的屬性;
Type 是屬性的類型
Default_value 是屬性的默認值
(2).屬性的類型
a). CDATA 類型: 此屬性的值只能是文本類型
b). 枚舉屬性類型: 指定的文本串列表中的某個文本串;
c). ID屬性類型: 用於標識文檔中的元素;
d). IDREF /IDREFS 類型: 用於引用同一文檔中的另一元素的ID屬性
e). NMTOKEN/NMTOKENS 屬性類型: 必需爲一個有效的XML名稱;
f). ENTITY 和ENTITYS 屬性類型: 用來引用文檔中的不可解析的外部實體;
g). NOTATION 類型
用於把屬性值和DTD中的<! NOTATION>聲明關聯起來
(3).屬性的默認值
a). REQUIRED : 表示這個元素在使用時必須具有該屬性;
b). IMPLIED : 該屬性不是必須使用的;
c). FIXED : 在相應的XML文檔中可以不用明確的指定該屬性的值,如果明確指定屬性值,則必須是定義時給出的默認值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.