xml系列:文件型別定義dtd
一,什麼是dtd?
1,xml是一種元標記語言,是描敘語言的語言,定義標記的語法結構,從而生成新標記。而dtd則是為新標記建立文件並進行規範說明。
也就是說xml定義標記的語法結構是通過dtd來定義,並指定文件結構的規範,而xml文件來使用標記。
2,自描述資料的規範。
二,dtd的作用
1,dtd定義了文件中的元素(標記和屬性)和實體,以及相互關係。資料和結構分離。
2,通過dtd驗證xml文件的有效性。dtd為解析器提供了解析xml文件的依據。所以每個xml文件必須指定對於哪個dtd有效。
三,dtd的結構
1,元素的宣告:使用元素宣告來宣告xml文件中的元素
⑴,帶有資料的元素:
資料型別:
#cdata:指元素包含不通過解析器解析的字元資料。特殊字元和保留字不需要轉義。
#pcdata:指元素包括解析器可解析字元資料。特殊字元和保留字需要轉義才可以通過解析器。
any:元素可以包含任何宣告型別的子元素和字元資料。
⑵,帶有子元素的元素:
多個子元素用逗號隔開。
在文件中的順序和定義中的順序一致。
子元素可以有自己的子元素。
①相同元素只出現一次:
②相同元素至少出現一次:+
③相同元素出現零次或多次:*
④相同元素出現零次或一次:?
⑶ ,空元素:
空元素可以有屬性
⑷,混合宣告
組可以是序列或選擇子元素和/或子組:
①序列
: 元素a由單個子元素b組成.
:元素a由子元素b和c組成.
:元素a由子元素b ,e和選擇子組(c或d中之一)組成.
②選擇 子元素和/或子組
:元素a由子元素選擇子組(b或c)組成.
:元素a由包括序列子組(d和e)的選擇(b或c或d,e之一)組成.
2,屬性的宣告
⑴空屬性
⑵非空屬性
dtd示例:
xml示例:
《售價 貨幣單位 = "人民幣">10.90
dtd示例:
xml示例:
《售價》10.90
dtd示例:
xml示例:
《售價 貨幣單位 = "美元">10.90
dtd示例:
xml示例:
《售價 貨幣單位 = "人民幣">10.90
xml示例:
《售價 貨幣單位 = "歐元">10.90
xml示例:
《售價 id = "book1">10.9010.9010.90
xml示例:
《售價 id = "book1" 貨幣單位 = "人民幣">10.90四,使用dtd
1,內部dtd
xml宣告後在xdoctype宣告中編寫內部dtd。
2,外部dtd
編寫dtd檔案,擴充套件名為dtd,在xml文件doctype宣告中新增dtd引用,告訴解析器外部dtd資訊,
3,dtd中的內部實體和外部實體和
參見:xml系列:xml文件結構 中的實體;
4,dtd中的引數實體
先用內部dtd宣告,把引數實體設定為元素名 ,在xml檔案中引用 外部dtd驗證。
dtd檔案
......
xml檔案
...]>
...例子:不同元素的xml共同關聯乙個dtd檔案
dtd檔案
......
xml檔案1
...]>
張三學生
...xml檔案2
...]>
王五老師
...
DTD 文件型別定義
dtd是xml檔案的驗證機制,屬於xml檔案的組成部分。dtd在xml檔案中所犯扮演的角色就是定義xml檔案的元素結構 元素標記和屬性。一旦定義好dtd,就可以使用xml解析器對編寫好的xml文件進行dtd檢查,以判斷xml文件內容是否為有效的xml文件內容。dtd可以在xml文件中直接寫入,也可以...
DTD文件型別定義
2.屬性定義語法 dtd對元素屬性的約束 3.特殊符號轉義 1.dtd的全稱為 document type definition 文件型別定義,即xml的一種約束 2.xml extensible mark up language 可擴充套件標記語言 3.xml兩種約束方式 dtd和schema 1...
XML文件型別定義 DTD詳解
dtd document type definition 文件型別定義 1.對dtd的初步認識 乙個簡單的dtd檔案 323.在xml文件中直接嵌入dtd定義語句 就是直接在xml文件的 一 dtd元素定義.元素定義細節 1 元素定義的語法格式 例如 使用規則 pcdata 是 parsed cha...