XML檔案中DTD的簡單應用 屬性表宣告

2021-09-30 09:45:09 字數 1765 閱讀 9343

屬性用於將名字-值對與元素進行關聯。

屬性說明只能在【開始標籤】和【空元素標籤】**現。

屬性表宣告詳細說明了與給定元素型別相關聯的每乙個屬性的名字,資料型別和預設值。

屬性表宣告的語法如下:

元素名:屬性所屬的元素的名字

屬性名:屬性的名字

屬性型別:用來指定該屬性屬於哪種型別,共十種型別

預設宣告:用於說明在元素中該元素是否必須出現,如果不是必須出現,那麼在沒有出現時,xml處理器該如何

處理。(1)預設宣告

有4中預設設定:

#required:說明元素必須提供該屬性

#implied:說明元素可以包含該屬性,也可以不包含

#fixed+預設值:說明乙個固定的屬性預設值

只有預設值:與#fixed+預設值一樣,如果元素不包含該屬性,xml處理器將以宣告的預設值向應用程式報告該

屬性。不同的是,這種宣告方式屬性的值是可以改變的。

例:<?xml version="1.0" encoding="gb2312"?>

阿斯頓和控制項

張三地方過多個張三

**說明:

:0個或多個articale結點

:author元素的ip屬性可有可無

注:在這裡我嘗試用#required代替#implied,在瀏覽器中檢視卻沒有報錯,不知道什麼原因(張三

預設值方式是一樣的

屬性型別:

屬性共有10種型別:

cdata:字元資料,如果屬性**現《和"和&,必須使用預定義實體引用或者字元引用的方式插入。

enumerated:列舉型別在實際使用中不用enumerated,直接將屬性值放在()中,使用|分隔屬性。

如:id,idref,idrefs:乙個id型別的屬性值唯一的標誌了xml文件中的乙個元素。以字母,下劃線或冒號開頭,名稱

中可以包含字母,數字和下劃線以及其他在xml標準中的允許字元,名稱中不能帶有空格。乙個元素只能有乙個

id型別的屬性,id型別的屬性必須設定為#implied或者#required

entity,entitys,

entity型別的屬性把外部的二進位制資料連線到文件。

entity型別的屬性值是在dtd中宣告的未分析的一般實體的名稱。

例如我想在文件中包含一幅外部影象,可以宣告entity型別屬性:

在dtd中,還需要宣告乙個外部一般實體:

" ndata gif>

關鍵字ndata表示該實體是一般未分析實體, 後面的gif是記號名稱, 用來說明實體的資料格式或指 

定乙個外部的處理程式。gif的宣告如下:

在xml文件中, 可以在src屬性中引用影象:

nmtoken,nmtokens: 用來限制名稱只能包含名稱字元(字母,下劃線,冒號等),而不能包含空格。例如限制 

檔名:

notation: 記號宣告,用來處理xml處理器不支援的檔案,如聲音,影象等。

記號宣告有兩種方式:

1. 使用mime

2. 使用uri路徑, 指出外部處理程式的位置:

注 : 也可以使用public代替system

例:id 與 idref

<?xml version="1.0" encoding="gb2312"?>

]>

張三李四

#idrefs : 用來表示引用多個id, 每個id之間用空格分隔, 例如上面manager:例:

notation

<?xml version="1.0" encoding="gb2312"?>

]>

XML檔案中的DTD是什麼?

dtd 的目的是定義 xml 文件的結構。在dtd文件中用element關鍵字來宣告乙個xml元素 用attlist關鍵字來為乙個元素宣告屬性 dtd約束文件可以在xml文件中直接定義 1.dtd的宣告方式分為內部宣告與外部宣告 內部宣告的格式是 doctype 根元素 element 根元素 元素...

XML中的DTD約束

約束直接寫在xml文件中!你好!格式良好的 xml文件必須且僅有乙個根元素!l 屬性由屬性名與屬性值構成,中間用等號連線 l 屬性值必須使用引號括起來,單引或雙引 l 定義屬性必須遵循與標籤名相同的命名規範 l 屬性必須定義在元素的開始標籤中 乙個元素中不能包含相同的屬性名 使用element宣告元...

xml檔案對應的DTD學習

dtd檔案 1.dtd文件主要由 元素,屬性,實體,pcdata,cdata 2.宣告乙個元素 eg 特殊元素 結果類詩如下 效果 帶有任何內容的元素 eg 3.當最後只有pcdata元素時 元素內容 pcdata eg 4.帶有子元素的元素 eg 5.在預設的情況下,宣告的元素都是只出現一次的。在...