国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > XML > 正文

XML入門精解之文件格式定義

2024-09-05 20:56:16
字體:
來源:轉載
供稿:網友
DTD實際上可以看作一個或多個XML文件的模板,這些XML文件中的元素、元素的屬性、元素的排列方式/順序、元素能夠包含的內容等,都必須符合DTD中的定義。XML文件中的元素,即我們所創建的標記,是根據我們應用的實際情況來創建的。想要創建一份完整性高、適應性廣的DTD是非常困難的,因為各行各業都有他們自己的行業特點,所以DTD通常是以某種應用領域為定義的范圍,如:醫學、建筑、工商、行政。DTD定義的元素含蓋范圍越廣泛,那么就越復雜。

DTD可以是一個完全獨立的文件,也可以在XML文件中直接設定。所以,DTD分為外部DTD(在XML文件中調用另外已經編輯好的DTD)和內部DTD(在XML文件中直接設定DTD)兩種。比如,有幾十家相互聯系的、合作伙伴關系的公司、廠商,他們相互之間的交換電子文檔都是用XML文檔。那么我們可以將這些XML文檔的DTD放在某個地方,讓所有交換的XML文檔都使用此DTD,這是最方便的做法,同時也適用于公司內部的XML文件使用。

內部DTD

內部DTD是在XML文件的文件序言區域中定義的。語法:

以下為引用的內容:

  〈!DOCTYPE element-name[........

  ]〉

  〈!DOCTYPE :表示開始設定DTD,注意DOCUTYPE是大寫。

Element-name :指定此DTD的根元素的名稱,一個XML文件只能有一個根元素。注意,如果 XML文件使用了DTD,那么文件中的根元素就在這里指定。

[.........]〉 :在[ ]標記里面定義XML文件使用元素,然后用〉結束DTD的定義。

下面,我們來看一下怎樣給XML文件定義DTD,請見例1。

例1中的DTD定義區可以看作是一個DTD定義的大概框架,為其他XML文件定義DTD,結構和例1的DTD差不多,只是可能需要添加、刪除或者更改一些東西而已。在DTD定義的中間是元素設定,這是一個DTD的最主要部分,其主要語法如下:

〈!ELEMENT element-name element-definition〉

〈!ELEMENT:表示開始元素設置,注意此處ELEMENT關鍵字是大寫。

element-name:表示要設置的元素的名稱。

element-definition:指明要對此元素進行怎樣的定義,就是說〈元素〉...〈/元素〉之間能夠包含什么內容,是其他元素還是一般性的文字。

在例1中,大家可以看到,〈!ELEMENT 參考資料 (書籍)〉這個元素設定是聲明了“參考資料”這個元素,并且它是作為“書籍”這個元素的父元素。〈!ELEMENT 書籍 (名稱,作者,價格)〉這個元素設定聲明了“書籍”這個元素,并且它是作為“名稱”、“作者”、“價格”這三個元素的父元素。而〈!ELEMENT 名稱 (#PCDATA)〉這個元素設定聲明了“名稱”這個元素,但是此元素僅僅包含一般文字,是基本元素,這是由#PCDATA關鍵字定義的。

在元素設置中,如果元素包含多個子元素,如:〈!ELEMENT 書籍 (名稱,作者,價格)〉這種含多個子元素的聲明,那么“名稱”、“作者”、“價格”這些標記在XML文件中必須以上面排列的順序出現,每個標記必須而且只能夠出現一次。如果在設定元素時,按照〈!ELEMENT 書籍ANY〉,這樣在元素下就可以包含任意被設定過的元素,出現的次數和順序也不受限制,并且在該元素下,除了可以包含子元素以外,還能夠包含一般的文字。有時候,在XML文件中,一個標記可能多次出現(或者不出現),那么我們除了在它們的父元素中用ANY關鍵字之外,還可以在元素的旁邊加上特定的符號來控制標記出現的次數。這些符號見表1。

表1

符號    代表標記出現的次數

?    不出現或只出現一次

*    不出現或可出現多次

+    必須出現一次以上

無符號    只能出現一次

例如:〈!ELEMENT 參考資料(書籍

主站蜘蛛池模板: 泸溪县| 彩票| 库尔勒市| 灵台县| 尤溪县| 连城县| 渝北区| 大理市| 旬邑县| 普陀区| 灌阳县| 洮南市| 仪陇县| 鸡西市| 饶阳县| 嘉善县| 平舆县| 鲁甸县| 英超| 满城县| 湘西| 若羌县| 清水县| 托克逊县| 凉山| 田林县| 松阳县| 玛纳斯县| 铅山县| 长兴县| 桂林市| 津南区| 夏津县| 德格县| 准格尔旗| 长汀县| 拜泉县| 元江| 兴国县| 土默特左旗| 保康县|