什麼是dtd
dtd就是使用一系列的合法元素來定義文件的結構,dtd告訴驗證解析器和非驗證解析器希望文字出現在什麼地方,解析器根據什麼原則判斷空白是否可以忽略,同時告訴驗證解析器哪些標籤有效,以及在什麼布局下有效。
dtd語法
dtd標籤以限定符
名字意義?問號
可選(零個或乙個)*星號
零個或多個+加好
乙個或多個
例:
dtd的引用
大多數情況下,dtd定義與xml文件不在同一文件中,因此,我們必須在xml中引用dtd;
例如:;與dtd宣告相似,以dtd屬性定義
attlist 使用者定義屬性,slideshow後面指定了要定義的屬性。每行乙個屬性,(這種格式化寫法可以很好的增強可讀性)每個屬性有三個空格隔開的值定義,不允許使用逗號或其他分隔符,行中第乙個元素是屬性名稱,第二個元素是屬性型別:cdata——不可解析的資料(文字,所有特殊或不特殊字元都被視為文字),詳見屬性型別表;第三個屬性是屬性的預設值,並說明是否需要屬性,詳見屬性規範引數。
屬性型別表:
屬性型別
意義(value1|value2|…)
or條件組合的屬性可選列表
cdata
「未解析的字元資料」(文字字串)
id乙個沒有與其他id屬性共享的名字
idref
對文件其他定義的id的引用
idrefs
包含乙個或多個id引用的列表
entity
dtd定義中實體的名字
entitys
空格間隔的實體的列表
nmtoken
由字母、數字、連字元、下劃線和冒號構成的有效xml名稱
nmtokens
用空格間隔的名稱列表
nmtation
dtd指定符號表示法的名稱
屬性規範參數列:
規範意義
#required
必須指定的屬性
#implied
不需要指定的屬性,如果沒有指定應用程式將使用提供的預設值
「defaultvalue」
如果文件中沒有指定值,就使用該值
#fixed 「fixed value」
必定要使用的值,如果文件屬性中指定了值。則必須與該值相同
實體的定義
]>
wake up to &products;!
在dtd中含有title標籤和xml同時也需要使用title時,必須用某種方法來解決兩個同名元素之間的衝突,因此我們使用命名空間(命名空間,以下統稱命名空間)。命名空間規範是為讓作者告訴解析器在解析給定元素時使用哪個dtd或架構。
命名空間的定義
在dtd中,通過新增xmlns(「xml name space」)屬性來定義該元素的命名空間。
例如:
overview
Linux起源和發展
一 linux的起源 什麼是linux?linux是一套免費使用和自由傳播的類unix作業系統,是乙個基於posix和unix的多使用者 多工 支援多執行緒和多cpu的作業系統。伴隨著網際網路的發展,linux得到了來自全世界軟體愛好者 組織 公司的支援。它除了在伺服器作業系統方面保持著強勁的發展勢...
Orz的起源和擴充套件
失意體前屈 orz 是一種源自於日本的網路象形文本 或心情圖示 失意體前屈,原本指的是網路上流行的表情符號 它看起來像是乙個人跪倒在地上,低著頭,一副 天啊,你為何這樣對我 的動作,雖然簡單卻很傳神。在初期,並沒有人對這個符號起個名字,失意體前屈 這 個名字也是後來才出現的。據說是某個餐廳的座墊上繡...
馬的種類和起源
因為最近新出了乙個馬的種類 欺實馬,所以今天突然心血來潮,研究了下馬的種類和起源。馬科 equidae 是現存奇蹄目中種類數量最多,分布最廣,人們最熟悉的一科,全部成員均可歸入馬屬 equus 分布限於歐亞大陸和非洲。家馬 equus caballus 是現存數量最多的奇蹄目成員,與人類的關係密切。...