濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 一個(gè)簡單的XML Schema的例子

一個(gè)簡單的XML Schema的例子

熱門標(biāo)簽:高德地圖地圖標(biāo)注服務(wù)中心 r語言數(shù)據(jù)可視化地圖標(biāo)注 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 如何修改多個(gè)百度地圖標(biāo)注 微信地圖標(biāo)注合并了 400電話辦理包年 隨州外呼調(diào)研系統(tǒng) 東營電銷 本地電話機(jī)器人

我們可以看到,DTD的語法相當(dāng)復(fù)雜,并且它不符合XML文件的標(biāo)準(zhǔn),自成一個(gè)體系。也就是說DTD文檔本身并不是一個(gè)良好形式的XML文檔,上面的關(guān)于DTD的介紹也僅僅是作了一個(gè)簡介,目的是幫助大家能讀懂DTD文件以及在必要時(shí)創(chuàng)建簡單的DTD文件,因?yàn)楝F(xiàn)在很多的XML應(yīng)用是建立在DTD之上的。



另外一個(gè)代替DTD的就是W3C定義的Schema,Schema從字面意義上來說,可以翻譯成模式、大綱、計(jì)劃、規(guī)劃等等。它的基本意思就是說為XML文檔制定一種模式。

Schema相對(duì)于DTD的明顯好處是XML Schema文檔本身也是XML文檔,而不是像DTD一樣使用自成一體的語法。這就方便了用戶和開發(fā)者,因?yàn)榭梢允褂孟嗤墓ぞ邅硖幚鞽ML Schema和其他XML信息,而不必專門為Schema使用特殊工具。Schema簡單易懂,懂得XML語法、規(guī)則的人都可以立刻理解它。Schema的概念提出已久,但W3C的標(biāo)準(zhǔn)最近才出來,相應(yīng)的應(yīng)用支持尚未完善,但采用Schema已成為XML發(fā)展的一個(gè)趨勢。


首先我們還是從最簡單的例子著手來學(xué)習(xí)Schema的語法結(jié)構(gòu):

比如一個(gè)簡單的XML文檔如下:

書本>
名稱>天涯明月刀
作者>古龍
  

如果用DTD的形式來定義該XML文檔結(jié)構(gòu)的話,可以如下所示:


<!ELEMENT 書本 (名稱, 作者)>
<!ELEMENT 名稱 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>

那么用Schema形式如何定義呢?見下面的代碼:

<element name='書本' type='書本類型'/>
<complexType name='書本類型'>
<element name='名稱' type='string'/>
<element name='作者' type='string'/>
</complexType>

可以注意的一點(diǎn)是,在Schema中,也是通過對(duì)元素的定義和元素關(guān)系的定義來實(shí)現(xiàn)對(duì)整個(gè)文檔性質(zhì)和內(nèi)容的定義。同時(shí)需要注意的是,在Schema中,元素是通過它的名字和內(nèi)容模型來確定,名稱就是該元素的名字,這個(gè)大家都可以理解,而內(nèi)容模型實(shí)際上就是表示元素的類型。就象在C++中,我們可以隨便定義一個(gè)變量,但是必須定義變量的類型,變量的類型就可能有多種形式,它可以是一個(gè)簡單的變量(如C++內(nèi)部指定的類型,bool,int,double,char等等),也可以是很復(fù)雜的類型(比如是一個(gè)struct或者是class),在Schema中也是一樣,類型(type)可以分為兩種形式,一種是非常簡單的類型,被稱為simple,一種是復(fù)雜的類型,被稱為complex。簡單類型不能包含元素和屬性(注意在Schema中和DTD中一樣,都有元素屬性的說法,大道相同)。而復(fù)雜類型不僅可以包含屬性,而且可以在其中嵌套其他的元素,或者可以和其他元素中的屬性相關(guān)聯(lián)。

您可能感興趣的文章:
  • 淺談XML Schema中的elementFormDefault屬性
  • Spring中XML schema擴(kuò)展機(jī)制的深入講解

標(biāo)簽:宿遷 拉薩 德州 西雙版納 寧夏 益陽 果洛 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《一個(gè)簡單的XML Schema的例子》,本文關(guān)鍵詞  一個(gè),簡單,的,XML,Schema,例子,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《一個(gè)簡單的XML Schema的例子》相關(guān)的同類信息!
  • 本頁收集關(guān)于一個(gè)簡單的XML Schema的例子的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临夏县| 额济纳旗| 阳西县| 尼玛县| 乌拉特后旗| 台山市| 定结县| 平昌县| 明光市| 炉霍县| 广平县| 乌鲁木齐县| 寿阳县| 施秉县| 平安县| 芮城县| 天津市| 武威市| 赣榆县| 蚌埠市| 房产| 汤原县| 浦江县| 江孜县| 临朐县| 白玉县| 辰溪县| 潞城市| 菏泽市| 南溪县| 新巴尔虎右旗| 新巴尔虎左旗| 曲沃县| 古蔺县| 宁南县| 渝中区| 呼图壁县| 兴业县| 大荔县| 荣昌县| 乌拉特后旗|