XML文件型別定義 DTD詳解

2021-05-23 21:45:32 字數 2167 閱讀 6950

dtd (document type definition 文件型別定義)

1.對dtd的初步認識;

乙個簡單的dtd檔案 :      

323.在xml文件中直接嵌入dtd定義語句;

就是直接在xml文件的                             

]>

一:dtd元素定義.

元素定義細節:

1)元素定義的語法格式:

例如:

使用規則:

(#pcdata)       是 parsed character data (被解析的字元資料) 的簡寫

(name,***,age)    元素中嵌入一組子元素

(name,#pcdata)  元素中的內容還可以是子元素和普通字串的混合體

emply        表示空元素,這種元素一般寫成

的形式

2)dtd使用與xml文件相同的注釋方式 :

3)每條元素定義語句的順序是無關緊要的.

4)具有不同用途的元素不能使用相同的元素名.

5)乙個元素的各個組成成分之間可以有各種關係:

表示myfile元素中有三個子元素,這三個子元素可以按任意順序出現。

表示myfile元素中有三個子元素,且這三個子元素在xml中的出現順序必須與括號中的出現次序一致 (逗號表示按次序出現)。

表示myfile元素中只能包含這三個子元素中的乙個 ("|"表示或的意思)。

6)在元素的使用規則中還可以定義子元素的出現次數:

(person+)   (person?)   (person*)   (person)

注:+表示它所修飾的成分至少出現一次 ; ?表示出現次數最多一次 ; *表示無限制,可以不出現也可以出現 ;  元素上沒有使用任何修飾符表示這個元素必須出現且只能出現一次。

7)乙個括號()可用於將括在其中的內容組合成乙個可統一操作的分組,分組中可以巢狀更小的分組。

如:    

二:dtd屬性定義.

1.屬性定義的語法格式;

屬性名1 屬性型別 設定說明

屬性名2 屬性型別 設定說明

......   (注意:這裡列出的屬性必須屬於同乙個元素)

例如:

name cdata #required

age cdata #implied

注:cdata是一種屬性型別,#required和#implied是設定說明 前者表示屬性是必須的,後者表示屬性是可有可無的。

>

2.屬性定義->設定說明:

(1)#required    設定屬性為必須屬性

(2)#implied    設定屬性為可有可無

(3)#fixed    設定屬性的取值固定為某乙個特定的值,還必須為屬性提供乙個固定的設定值。

示例:job cdata #fixed "系統分析師"

(4)使用預設值    屬性的設定說明不寫前面三種,而是直接寫乙個預設值,當沒有給該屬性設值時,會採用預設值。

示例:*** cdata "男"

3.屬性定義->型別:

cdata        表示屬性值的內容為普通的文字字串,但屬性值中出現的特殊字元必須使用相應的轉義字元來表示。

enumerated    表示所設定的屬性值必須是某一組屬性值中的乙個(即列舉型別),注意,在定義時是不會出現enumerated關鍵字的,而是在括號中寫上該列舉的所有值,用"|"分隔。

示例:

這裡的***屬性是列舉型別,並且為它設定了乙個預設值"男"

id        這種型別用於唯一標識xml中的某個元素,這個xml文件中該屬性的設定值不能重複。

idref 和 idrefs

nmtoken 和 nmtokens

notation

entity 和 entitys

4.dtd實體定義:

1)實體的根本作用是為一段文字內容建立乙個別名,以後在xml文件中就可以座次引用這個別名,xml解析器程式將把xml文件中出現的別名引用轉變成其所對應的文字內容。

2)在dtd定義中,一條

(2)引數實體(定義在dtd並且使用在dtd檔案中。實質:嚴格的內容替換的過程):

語法格式:

引用方式(dtd中): %實體名稱;

例如:

文件型別定義DTD

xml系列 文件型別定義dtd 一,什麼是dtd?1,xml是一種元標記語言,是描敘語言的語言,定義標記的語法結構,從而生成新標記。而dtd則是為新標記建立文件並進行規範說明。也就是說xml定義標記的語法結構是通過dtd來定義,並指定文件結構的規範,而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...