屬性用於將名字-值對與元素進行關聯。
屬性說明只能在【開始標籤】和【空元素標籤】**現。
屬性表宣告詳細說明了與給定元素型別相關聯的每乙個屬性的名字,資料型別和預設值。
屬性表宣告的語法如下:
元素名:屬性所屬的元素的名字
屬性名:屬性的名字
屬性型別:用來指定該屬性屬於哪種型別,共十種型別
預設宣告:用於說明在元素中該元素是否必須出現,如果不是必須出現,那麼在沒有出現時,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.在預設的情況下,宣告的元素都是只出現一次的。在...