文件型別定義DTD

2021-04-17 22:17:21 字數 2267 閱讀 1014

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...