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文檔中可以不用明確的指定該屬性的值,如果明確指定屬性值,則必須是定義時給出的默認值
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章