信息組織第5章XML語言.ppt_第1頁
信息組織第5章XML語言.ppt_第2頁
信息組織第5章XML語言.ppt_第3頁
信息組織第5章XML語言.ppt_第4頁
信息組織第5章XML語言.ppt_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1,第5章,XML,2,置標語言,“markup language” 給文本添加標記的語言 標準通用置標語言 SGML 超文本置標語言 HTML 可擴展的置標語言 XML,3,SGML,Standardized Generalized Markup Language SO/ANSI/ECMA的一個標準,一種用來注釋文本文檔,提供文檔片斷的類型信息的規(guī)范。標準通用置標語言是一種通用的文檔結(jié)構(gòu)描述置標語言,為語法置標提供了異常強大的工具,同時具有極好的擴展性,因此在數(shù)據(jù)分類和索引中非常有用。但SGML復(fù)雜度太高,不適合網(wǎng)絡(luò)的日常應(yīng)用,加上開發(fā)成本高、不被主流瀏覽器所支持等原因,使得SGML在Web上的推廣受到阻礙。HTML和XML都是SGML的子集。,4,HTML,HTML(超文本置標語言,HyperText Markup Language)是為網(wǎng)頁創(chuàng)建和其它可在網(wǎng)頁瀏覽器中看到的信息設(shè)計的一種置標語言。HTML被用來結(jié)構(gòu)化信息例如標題、段落和列表等等,也可用來在一定程度上描述文檔的外觀和語義。由蒂姆伯納斯李給出原始定義,由IETF用簡化的SGML(標準通用置標語言)語法進行進一步發(fā)展的HTML后來成為國際標準,由萬維網(wǎng)聯(lián)盟(W3C)維護。,5,HTML,HTML是Hypertext Marked Language的英文縮寫,即超文本標記語言,是一種用來制作超文本文檔的簡單標記語言(就是網(wǎng)頁制作的最基本的語言標記語言). HTML語言是一種標記語言,它不需要編輯,可以直接由瀏覽器執(zhí)行. 在標準網(wǎng)頁設(shè)計中HTML負責(zé)填充網(wǎng)頁的內(nèi)容.,6,HTML,HTML文件也可以說是一個文本文件,它包含了一些HTML元素,標簽等.HTML文件必須使用html或htm為文件名后綴. HTML編寫的超文本文檔(文件)稱為HTML文檔(網(wǎng)頁),它能獨立于各種操作系統(tǒng)平臺,如UNIX,WINDOWS等,并且可以通知瀏覽器顯示什么.自1990年以來HTML就一直被用作互聯(lián)網(wǎng)的信息表示語言,用于描述網(wǎng)頁的格式設(shè)計和它與互聯(lián)網(wǎng)上其它網(wǎng)頁的連結(jié)信息.,7,HTML,HTML語言描述的文件(網(wǎng)頁),需要通過瀏覽器顯示出效果,如HTML文件也可以說是一個文本文件,它包含了一些HTML元素,標簽等.HTML文件必須使用html或htm為文件名后綴. HTML編寫的超文本文檔(文件)稱為HTML文檔(網(wǎng)頁),它能獨立于各種操作系統(tǒng)平臺,如UNIX,WINDOWS等,并且可以通知瀏覽器顯示什么.自1990年以來HTML就一直被用作互聯(lián)網(wǎng)的信息表示語言,用于描述網(wǎng)頁的格式設(shè)計和它與互聯(lián)網(wǎng)上其它網(wǎng)頁的連結(jié)信息.,8,HTML,HTML語言描述的文件(網(wǎng)頁),需要通過瀏覽器顯示出效果,如FireFox, IE. HTML是大小寫不敏感的,HTML與html是一樣的.,9,HTML,包含HTML內(nèi)容的文件最常用的擴展名是.html,但是像DOS這樣的舊操作系統(tǒng)限制擴展名為最多3個字符,所以.htm擴展名也被使用。雖然現(xiàn)在使用的比較少一些了,但是.htm擴展名仍舊普遍被支持。編者可以用任何文本編輯器或所見即所得的HTML編輯器來編輯HTML文件。,10,HTML,早期的HTML語法被定義成較松散的規(guī)則以有助于不熟悉網(wǎng)絡(luò)出版的人采用。網(wǎng)頁瀏覽器接受了這個現(xiàn)實,并且可以顯示語法不嚴格的網(wǎng)頁。隨著時間的流逝,官方標準漸漸趨于嚴格的語法,但是瀏覽器繼續(xù)顯示一些遠稱不上合乎標注準的HTML。使用XML的嚴格規(guī)則的XHTML(可擴展超文本置標語言)是W3C計劃中的HTML的接替者。雖然很多人認為它已經(jīng)成為當(dāng)前的HTML標準,但是它實際上是一個獨立的、和HTML平行發(fā)展的標準。W3C目前的建議是使用XHTML 1.1、 XHTML 1.0或者HTML 4.01進行網(wǎng)絡(luò)出版。,11,HTML,標準的版本歷史 超文本置標語言(第一版)在1993年6月發(fā)為互聯(lián)網(wǎng)工程工作小組 (IETF)工作草案發(fā)布(并非標準). HTML 2.01995年11月作為RFC 1866發(fā)布,在RFC 2854于2000年6月發(fā)布之后被宣布已經(jīng)過時 HTML 3.21996年1月14日,W3C推薦標準 HTML 4.01997年12月18日,W3C推薦標準,12,HTML,HTML 4.01(微小改進)1999年12月24日,W3C推薦標準 ISO/IEC 15445:2000(“ISO HTML”)2000年5月15日發(fā)布,基于嚴格的HTML 4.01語法,是國際標準化組織和國際電工委員會的標準 XHTML 1.0發(fā)布于2000年1月26日,是W3C推薦標準,后來經(jīng)過修訂于2002年8月1日重新發(fā)布。 XHTML 1.1, 于2001年5月31日發(fā)布 (XHTML 2.0, W3C工作草案),13,HTML,HTML沒有1.0版本是因為當(dāng)時有很多不同的版本。有些人認為蒂姆伯納斯李的版本應(yīng)該算初版,這個版本沒有IMG元素。當(dāng)時被稱為HTML+的后續(xù)版的開發(fā)工作于1993年開始,最初是被設(shè)計成為“HTML的一個超集”。第一個正式規(guī)范在為了和當(dāng)時的各種HTML標準區(qū)分開來,使用了2.0作為其版本號。HTML+的發(fā)展繼續(xù)下去,但是它從未成為標準。,14,HTML,HTML3.0規(guī)范是由當(dāng)時剛成立的W3C于1995年3月提出,提供了很多新的特性,例如表格、文字繞排和復(fù)雜數(shù)學(xué)元素的顯示。雖然它是被設(shè)計用來兼容2.0版本的,但是實現(xiàn)這個標準的工作在當(dāng)時過于復(fù)雜,在草案于1995年9月過期時,標準開發(fā)也因為缺乏瀏覽器支持而中止了。3.1版從未被正式提出,而下一個被提出的版本是開發(fā)代號為Wilbur的HTML 3.2,去掉了大部分3.0中的新特性,但是加入了很多特定瀏覽器,例如Netscape和Mosaic的元素和屬性。HTML對數(shù)學(xué)公式的支持最后成為另外一個標準MathML。,15,HTML,HTML 4.0同樣也加入了很多特定瀏覽器的元素和屬性,但是同時也開始“清理”這個標準,把一些元素和屬性標記為過時的,建議不再使用它們。HTML的未來和CSS結(jié)合會更好。,16,HTML,標記元素類型 html元素 標記HTML內(nèi)容的開始和結(jié)束。 head元素 標記HTML文件頭,包含不在正文中顯示的關(guān)鍵字、標題、腳本等等。 title元素 標記HTML文件的標題。 body元素 標記HTML文件正文的開始和結(jié)束。,17,HTML,呈現(xiàn)性標記。描述文字的外觀,例如 boldface 將“boldface“顯示為粗體文字。但是為了統(tǒng)一網(wǎng)站的風(fēng)格,很多網(wǎng)絡(luò)出版者使用CSS而不是重復(fù)使用呈現(xiàn)性標記。對于bold和italic,也有通常更加明確的等價呈現(xiàn)性標記,例如strong emphasis和emphasis。 超文本標記。將文檔的一部分關(guān)聯(lián)到其他文檔。例如 Wikipedia 將會把Wikipedia顯示為一個超鏈接URL。,18,除了HTML內(nèi)容之外,經(jīng)常也有人在代碼中加入注釋: 注釋不被瀏覽器解釋,僅僅起到說明代碼含義或者隱藏部分代碼的作用。,19,XML產(chǎn)生的背景,XML同HTML一樣,都來自Standard Generalized Markup Language, 即標準通用標記語言,簡稱SGML。早在Web未發(fā)明之前,SGML就早已存在。正如它的名稱所言,SGML是一種用標記來描述文檔資料的通用語言,它包含了一系列的文檔類型定義(簡稱DTD),DTD 中定義了標記的含義,因而 SGML 的語法是可以擴展的。SGML十分龐大,既不容易學(xué),又不容易使用,在計算機上實現(xiàn)也十分困難。鑒于這些因素,Web的發(fā)明者-歐洲核子物理研究中心的研究人員根據(jù)當(dāng)時(1989年)計算機技術(shù)的能力,提出了HTML語言。,20,HTML只使用SGML中很小一部分標記,例如HTML 3.2定義了70種標記。為了便于在計算機上實現(xiàn),HTML規(guī)定的標記是固定的,即HTML語法是不可擴展的,它不需包含DTD。HTML這種固定的語法使它易學(xué)易用,在計算機上開發(fā) HTML的瀏覽器也十分容易。正是由于HTML的簡單性,使 Web 技術(shù)從計算機界走向全社會,走向千家萬戶,Web的發(fā)展如日中天。,21,XML產(chǎn)生的背景,近年來,隨著 Web的應(yīng)用越來越廣泛和深入,人們漸漸覺得HTML不夠用了,HTML過于簡單的語法嚴重地阻礙了用它來表現(xiàn)復(fù)雜的形式。盡管HTML推出了一個又一個新版本,已經(jīng)有了腳本、表格、幀等表達功能,但始終滿足不了不斷增長的需求。另一方面,這幾年來計算機技術(shù)的發(fā)展也十分迅速,已經(jīng)可以實現(xiàn)比當(dāng)初發(fā)明創(chuàng)造HTML時復(fù)雜得多的Web瀏覽器,所以開發(fā)一種新的Web頁面語言既是必要的,也是可能的。,22,有人建議直接使用SGML 作為Web語言,這固然能解決HTML遇到的困難。但是SGML太龐大了,用戶學(xué)習(xí)和使用不方便尚且不說,要全面實現(xiàn)SGML的瀏覽器就非常困難,于是自然會想到僅使用SGML的子集,使新的語言既方便使用又實現(xiàn)容易。正是在這種形勢下,Web標準化組織W3C建議使用一種精簡的SGML版本-XML應(yīng)運而生了。,23,HTML的局限性 缺乏語法檢查 缺乏結(jié)構(gòu) 對內(nèi)容不敏感 不是面向?qū)ο蟮?缺乏健壯的鏈接機制 不可重用 不可擴展,24,XML的定義,XML是一個精簡的SGML,它將SGML的豐富功能與HTML的易用性結(jié)合到Web的應(yīng)用中。XML保留了SGML的可擴展功能,這使XML從根本上有別于HTML。XML要比HTML強大得多,它不再是固定的標記,而是允許定義數(shù)量不限的標記來描述文檔中的資料,允許嵌套的信息結(jié)構(gòu)。HTML只是Web顯示數(shù)據(jù)的通用方法,而XML提供了一個直接處理 Web 數(shù)據(jù)的通用方法。HTML著重描述Web頁面的顯示格式,而XML著重描述的是Web頁面的內(nèi)容。,25,26,XML的定義,XML并不是HTML的替代產(chǎn)品。XML不是HTML的升級,它只是HTML的補充,為HTML擴展更多功能。我們?nèi)詫⒃谳^長的一段時間里繼續(xù)使用HTML。(但值得注意的是HTML的升級版本XHTML的確正在向適應(yīng)XML靠攏。),27,XML的定義,XML來源于SGML,一種比HTML更早的標志語言標準。 SGML全稱是“Standard Generalized Markup Language”(通用標識語言標準)??疵Q就知道:它是標志語言的標準,也就是說所有標志語言都是依照SGML制定的,當(dāng)然包括HTML。SGML的覆蓋面很廣,凡是有一定格式的文件都屬于SGML,比如報告,樂譜等等,HTML是SGML在網(wǎng)絡(luò)上最常見的文件格式。而XML就是SGML的簡化版,只不過省略了其中復(fù)雜和不常用的部分。和SGML一樣,XML也可以應(yīng)用在金融,科研等各個領(lǐng)域。,28,XML的定義,XML保留了SGML的一些特點,并克服了HTML的局限性。主要特點是: XML可用于現(xiàn)有的Web協(xié)議和機制。 XML支持Web的各種不同的應(yīng)用,并使用了一種類屬的方法使其具有可擴展性。HTML則不支持,它需要借助使用用于鏈接HTML和應(yīng)用的腳本語言才支持Web的各種不同的應(yīng)用。 XML與SGML兼容,所以大多數(shù)SGML應(yīng)用可以向XML轉(zhuǎn)化。 XML文檔易于創(chuàng)建。,29,XML的定義,XML文檔內(nèi)容和結(jié)構(gòu)清晰易懂,所以即使對非專業(yè)人員來說,也易于閱讀和使用。 XML的設(shè)計嚴謹,所以XML中標記的信息可以很容易地被計算機程序所處理。 XML標準定義精煉,這就保證了其下載和處理的速度。,30,XML與HTML,有了HTML,為什么還需要用XML? 因為現(xiàn)在網(wǎng)絡(luò)應(yīng)用越來越廣泛,僅僅靠HTML單一文件類型來處理千變?nèi)f化的文檔和數(shù)據(jù)已經(jīng)力不叢心,而且HTML本身語法十分不嚴密,嚴重影響網(wǎng)絡(luò)信息傳送和共享。 人們早已經(jīng)開始探討用什么方法來滿足網(wǎng)絡(luò)上各種應(yīng)用的需要。使用SGML是可以的,但SGML太龐大,編程復(fù)雜,于是最終選擇了“減肥“的SGML-XML作為下一代web運用的數(shù)據(jù)傳輸和交互的工具。,31,XML和HTML的區(qū)別,XML和HTML都來自于SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區(qū)別在于:HTML是一個定型的標記語言,它用固有的標記來描述,顯示網(wǎng)頁內(nèi)容。比如標記可同時表示20磅的Helvetica字體的粗體、第一級標題和頁面標題。 相對的,XML則沒有固定的標記,XML不能描述網(wǎng)頁具體的外觀,內(nèi)容,它只是描述內(nèi)容的數(shù)據(jù)形式和結(jié)構(gòu)。 這是一個質(zhì)的區(qū)別:網(wǎng)頁將數(shù)據(jù)和顯示混在一起,而XML則將數(shù)據(jù)和顯示分開來。正是這種區(qū)別使得XML在網(wǎng)絡(luò)應(yīng)用和信息共享上方便,高效,可擴展。,32,XML與HTML,例如,在HTML中,一首歌可能是用定義標題、定義數(shù)據(jù)、無序的列表和列表項來描述的。但是事實上這些項目沒有一件是與音樂有關(guān)的。用HTML定義的歌曲可能如下: Hot Cop by Jacques Morali Henri Belolo and Victor Willis Producer: Jacques Morali Publisher: PolyGram Records Length: 6:20 Written: 978 Artist: Village People ,33,XML與HTML,而在XML中,同樣的數(shù)據(jù)可能標記為: Hot Cop Jacques Morali Henri Belolo Victor Willis Jacques Morali PolyGram Records 6:20 978 Village People 在這個清單中沒有使用通用的標記如和,而是使用了具有意義的標記,如、和等。這種用法具有許多優(yōu)點,包括源碼易于被人閱讀,使人能夠看出作者的含義。,34,更復(fù)雜的XML實例: 陳伯鈞 陳國懋 523173918.jpg 1910年11月26日 1974年2月6日 四川省達縣河市鄉(xiāng) 北京高等軍事學(xué)院院長 上將 1955年 1955年一級解放勛章 陳 伯 鈞 (1910-1974) 陳伯鈞,原名陳國懋,字少達。中國人民解放軍高級將領(lǐng)。1955年被授予上將軍銜,榮獲一級八一勛章、一級獨立自由勛章、一級解放勛章。 ,35,XML與HTML,XML標記還使自動機器人易于找出文檔中的所有歌曲。在HTML中,機器人只能告訴我們這個元素是dt。機器人不能決定dt到底代表一首歌的題目還是定義,抑或只是一些設(shè)計者喜愛的縮進文本格式。事實上,單一文檔中可以很好地包括帶有三種意義的各種dt元素。 可以選擇XML的元素名稱,以便使其在附加的上下文中具有額外的意義。例如,元素名稱可以是數(shù)據(jù)庫的域名。XML比HTML更為靈活而且適用于各種應(yīng)用,因為有限數(shù)目的標記不必用于許多不同的目的。,36,XML的嚴格格式,吸取HTML松散格式帶來的經(jīng)驗教訓(xùn),XML一開始就堅持實行“良好的格式“。 我們先看HTML的一些語句,這些語句在HTML中隨處可見: 1. sample 2.sample 3.sample 4.sample 在XML文檔中,上述幾種語句的語法都是錯誤的。因為: 1.所有的標記都必須要有一個相應(yīng)的結(jié)束標記; 2.所有的XML標記都必須合理嵌套; 3.所有XML標記都區(qū)分大小寫; 4.所有標記的屬性必須用“括起來;,37,XML的嚴格格式,1. sample 2.sample 3.sample 4.sample 另外,XML標記必須遵循下面的命名規(guī)則: 1.名字中可以包含字母、數(shù)字以及其它字母; 2.名字不能以數(shù)字或“_“ (下劃線) 開頭; 3.名字不能以字母 xml (或 XML 或 XML ) 開頭; 4.名字中不能包含空格。,38,XML的嚴格格式, XML Quick Start ajie 20010115 ,39,XML的嚴格格式,1.這段代碼僅僅是代碼,讓你初步感性認識一下XML,并不能實現(xiàn)什么具體應(yīng)用; 2.其中類似,的語句就是自己創(chuàng)建的標記(tags),它們和HTML標記不一樣,例如這里的是文章標題的意思,HTML里的是頁面標題。,40,XML的特點,XML從誕生之日起,就顯示了其強大的生命力。它吸收了HTML簡易性的優(yōu)點,克服了其局限性,開拓了新領(lǐng)域。它具備許多特點 。,41,XML的特點,使用XML有什么好處? XML使得在網(wǎng)絡(luò)上使用SGML語言更加“簡單和直接“: 簡化了定義文件類型的過程,簡化了編程和處理SGML文件的過程,簡化了在Web上的傳送和共享。 1.XML可以廣泛的運用于web的任何地方; 2.XML可以滿足網(wǎng)絡(luò)應(yīng)用的需求; 3.使用XML將使編程更加簡單; 4.XML便于學(xué)習(xí)和創(chuàng)建; 5.XML代碼將清晰和便于閱讀理解;,42,XML的特點, XML Quick Start ajie 20010115 第一行是一個XML聲明,表示文檔遵循的是XML的1.0 版的規(guī)范。 第二行定義了文檔里面的第一個元素(element),也稱為根元素: 。這個就類似HTML里的開頭標記。注意,這個名稱是自己隨便定義的。 再下面定義了四個子元素:title,author,email,和date。分別說明文章的標題,作者,郵箱和日期。,43,XML的特點, XML輕松學(xué)習(xí)手冊 ajie 20010115 ,44,XML的特點,XML(Extensible Markup Language),一種擴展性標識語言。 擴展性-使用XML,你可以為你的文檔建立自己的標記(tags)。 XML的第一個詞是“擴展性”,這正是XML強大的功能和彈性的原因。 在HTML里,有許多固定的標記,我們必須記住然后使用它們,你不能使用HTML規(guī)范里沒有的標記。而在XML中,你能建立任何你需要的標記。你可以充分發(fā)揮你的想象力,給你的文檔起一些好記的標記名稱。比如,你的文檔里包含一些游戲的攻略,你可以建立一個名為的標記,然后在下再根據(jù)游戲類別建立,等標記。只要清晰,易于理解你可以建立任何數(shù)量的標記。,45,XML的特點,擴展性使用戶有更多的選擇和強大的能力,但同時也產(chǎn)生一個問題就是用戶必須學(xué)會規(guī)劃。用戶自己要理解自己的文檔,知道它由哪幾部分組成,相互之間的關(guān)系和如何識別它們。 關(guān)于建立標識還需要說明一點,標識是描述數(shù)據(jù)的類型或特性,比如,年齡,姓名等,而不是數(shù)據(jù)的內(nèi)容,比如:,,這些都是無用的標記。,46,XML的特點,標識-使用XML你可以識別文檔中的元素。 XML的第二個詞是“標識“,這表明了XML的目的是標識文檔中的元素。 不論是HTML,還是XML,標識的本質(zhì)在于便于理解,如果沒有標識,文檔在計算機看來只是一個很長的字符串,每個字看起來都一樣,沒有重點之分。 通過標識,文檔才便于閱讀和理解,可以劃分段落,列明標題。XML中,更可以利用其擴展性 來為文檔建立更合適的標識。 不過,有一點要提醒大家注意:標識僅僅是用來識別信息,它本身并不傳達信息。,47,XML的特點,例如這樣的HTML代碼: first step 這里表示粗體,只用來說明是用粗體來顯示“first step“字符,本身并不包含任何實際的信息,在頁面上你看不到,真正傳達信息的是“first step “。,48,XML的特點,語言-使用XML要遵循特定的語法來標識文檔。 XML第三個詞是“語言”。這表明了作為一種語言XML必須遵循一定的規(guī)則。雖然XML的擴展性允許用戶創(chuàng)建新標識,但它仍然必須遵循特定的結(jié)構(gòu),語法和明確的定義。 在計算機領(lǐng)域,語言常常表示“XX程序語言”,用來編程實現(xiàn)一些功能和應(yīng)用,但不是所有的“語言”都是用來編程的,XML就只是一種用來定義標識和描述信息的語言。,49,XML的特點,結(jié)構(gòu)化-XML促使文檔結(jié)構(gòu)化,所有的信息按某種關(guān)系排列。 結(jié)構(gòu)化就是為你的文檔建立一個框架,就象寫文章先寫一個提綱。結(jié)構(gòu)化使文檔看起來不會雜亂無章,每一部分都緊密聯(lián)系,形成一個整體。 結(jié)構(gòu)化有兩個原則: 1.每一部分(每一個元素)都和其他元素有關(guān)聯(lián)。關(guān)聯(lián)的級數(shù)就形成了結(jié)構(gòu)。 2.標識本身的含義與它描述的信息相分離。,50,XML的特點, XML輕松學(xué)習(xí)手冊 XML快速入門 什么是XML 使用XML的好處 XML的概念 擴展性 標識 ,51,XML的特點,標識分三級關(guān)聯(lián),非常清晰: . 上面這樣的文檔結(jié)構(gòu),我們又稱之為“文檔樹“,主干是父元素,如,分支和頁是子元素,如和,52,XML的特點,顯示 單獨用XML不能顯示頁面,我們使用格式化技術(shù),比如CSS或者XSL,才能顯示XML標記創(chuàng)建的文檔。 XML是將數(shù)據(jù)和格式分離的。XML文檔本身不知道如何來顯示,必須有輔助文件來幫助實現(xiàn)。(XML取消了所有標識,包括font,color,p等風(fēng)格樣式定義標識,因此XML全部是采用類似DHTML中CSS的方法來定義文檔風(fēng)格樣式。),XML中用來設(shè)定顯示風(fēng)格樣式的文件類型有: XSL 、CSS 、Behaviors 。,53,XML的相關(guān)技術(shù),CSS XSL,54,XML的相關(guān)技術(shù),1.XSL XSL全稱是Extensible Stylesheet Language(可擴展樣式語言), 是將來設(shè)計XML文檔顯示樣式的主要文件類型。它本身也是基于XML語言的。使用XSL,你可以靈活的設(shè)置文檔顯示樣式,文檔將自動適應(yīng)任何瀏覽器和PDA(掌上電腦)。 XSL也可以將XML轉(zhuǎn)化為HTML,那樣,老的瀏覽器也可以瀏覽XML文檔了。 2.CSS CSS大家很熟悉了,全稱是Cascading Style Sheets(層疊樣式表),是目前用來在瀏覽器上顯示XML文檔的主要方法。 3.Behaviors Behaviors現(xiàn)在還沒有成為標準。它是微軟的IE瀏覽器特有的功能,用它可以對XML標識設(shè)定一些有趣動作。,55,XML文檔結(jié)構(gòu), QUICK START OF XML ajie 其中第一行就是一個XML文檔的聲明,第二行說明這個文檔是用filelist.dtd來定義文檔類型的,第三行以下就是內(nèi)容主體部分。,56,XML文檔結(jié)構(gòu),1.Element(元素): 元素在HTML我們已經(jīng)有所了解,它是組成HTML文檔的最小單位,在XML中也一樣。一個元素由一個標識來定義,包括開始和結(jié)束標識以及其中的內(nèi)容,就象這樣:ajie 唯一不同的就是:在HTML中,標識是固定的,而在XML中,標識需要你自己創(chuàng)建。,57,元素嵌套元素必須完全包含在另一個元素中。 25th December 2010 me You Happy Christmas Best wishes for Christmas Ho Ho Ho Brought to you by Santa ,58,XML文檔結(jié)構(gòu),2.Tag(標識) 標識是用來定義元素的。在XML中,標識必須成對出現(xiàn),將數(shù)據(jù)包圍在中間。標識的名稱和元素的名稱是一樣的。例如這樣一個元素: ajie 其中就是標識。,59,XML文檔結(jié)構(gòu),3.Attribute(屬性): 什么是屬性?看這段HTML代碼:word。其中color就是font的屬性之一。 屬性是對標識進一步的描述和說明,一個標識可以有多個屬性,例如font的屬性還有size。XML中的屬性與HTML中的屬性是一樣的,每個屬性都有它自己的名字和數(shù)值,屬性是標識的一部分。舉例: ajie XML中屬性也是自己定義的。,60,XML文檔結(jié)構(gòu),4.Declaration(聲明) 在所有XML文檔的第一行都有一個XML聲明。這個聲明表示這個文檔是一個XML文檔,它遵循的是哪個XML版本的規(guī)范。一個XML的聲明語句就象這樣: ,61,XML文檔結(jié)構(gòu),DTD(文件類型定義) DTD是用來定義XML文檔中元素,屬性以及元素之間關(guān)系的。 通過DTD文件可以檢測XML文檔的結(jié)構(gòu)是否正確。但建立XML文檔并不一定需要DTD文件。,62,XML文檔結(jié)構(gòu),DTD可以看作一個和多個文件的模板。它包含XML文檔中的元素、元素的屬性、元素的排列方式/順序,元素能包含的內(nèi)容等,都必須符合DTD的定義。 DTD有內(nèi)部DTD和外部DTD之分。一個內(nèi)部DTD位于XML聲明之后和任何文檔元素之前。 1.包含文檔聲明結(jié)構(gòu) 2.包含外部DTD描述結(jié)構(gòu),63,XML文檔結(jié)構(gòu),DTD是一種保證XML文檔格式正確的有效方法,可以比較XML文檔和DTD文件來看文檔是否符合規(guī)范,元素和標簽使用是否正確。一個DTD文檔包含:元素的定義規(guī)則,元素間關(guān)系的定義規(guī)則,元素可使用的屬性,可使用的實體或符號規(guī)則。 DTD文件也是一個ASCII的文本文件,后綴名為.dtd。例如:myfile.dtd。 為什么要用DTD文件呢?它滿足了網(wǎng)絡(luò)共享和數(shù)據(jù)交互,比如,兩個相同行業(yè)不同地區(qū)的人使用同一個DTD文件來作為文檔創(chuàng)建規(guī)范,那么他們的數(shù)據(jù)就很容易交換和共享。網(wǎng)上有其他人想補充數(shù)據(jù),也只需要根據(jù)公用的DTD規(guī)范來建立文檔,就立刻可以加入。,64,XML文檔結(jié)構(gòu),目前,已經(jīng)有數(shù)量眾多的寫好的DTD文件可以利用。針對不同的行業(yè)和應(yīng)用,這些DTD文件已經(jīng)建立了通用的元素和標簽規(guī)則。你不需要自己重新創(chuàng)建,只要在他們的基礎(chǔ)上加入你需要的新標識。當(dāng)然,如果愿意,你可以創(chuàng)建自己的DTD,它可能和你的文檔配合的更加完美。建立自己的DTD也是很簡單的一件事,一般只需要定義4-5個元素就可以了。,65,XML文檔結(jié)構(gòu),調(diào)用DTD文件的方法有兩種: 1.直接包含在XML文檔內(nèi)的DTD 在DOCTYPE聲明中插入一些特別的說明就可以了 XML輕松學(xué)習(xí)手冊 ajie ,66,XML文檔結(jié)構(gòu),在第一行后面插入下面代碼就可以: ,67,XML文檔結(jié)構(gòu),2.調(diào)用獨立的DTD文件 將DTD文檔存為.dtd的文件,然后在DOCTYPE聲明行中調(diào)用,例如,將下面的代碼存為myfile.dtd 然后在XML文檔中調(diào)用,在第一行后插入: ,68,了解如何根據(jù)原始信息進行建模和構(gòu)造XML文檔 例如,一個通訊錄信息用XML文檔的形式來保存。原始信息如下: Fred Blogs Male 22 Chancery Lane London SW17 4QP England 44 1 800 3451 fbloggshk.co.uk John F. Spencer Male El Camino Real 44621 Sunnyvale 95144 California USA 1 650 445 1273 ,69,要將上述信息保存為XML文檔的形式,一般經(jīng)過以下幾步。 第一步是對相關(guān)的信息項進行命名,將其映射為相應(yīng)的元素或?qū)傩浴?如對上述信息進行分析后可得如下元素名:NameAddressStreetCityStateCountryZipcodePhoneEmail。還有屬性名:Sex,70,第二步是確定文檔的層次結(jié)構(gòu),即各元素之間的嵌套關(guān)系。 Directory Person(SEX) Name Address Street City State Country Zipcode Phone Email,71,接下來根據(jù)此層次關(guān)系結(jié)構(gòu)構(gòu)造DTD為: ,72,XML文檔, Fred Bloggs London 22 Chancery Lane London England SW17 4QP 44 1 800 3451 fbloggshk.co.uk ,73, John F. Spencer Sunnyvale El Camino Real 44621 California USA 95144 1 650 445 1273 ,74,XML文檔結(jié)構(gòu),元素類型聲明 屬性表聲明 XML數(shù)據(jù)建模方法 XML Schema XSL,75,XML語法規(guī)則,XML的文檔和HTML的原代碼類似,也是用標識來標識內(nèi)容。創(chuàng)建XML文檔必須遵守下列重要規(guī)則: 規(guī)則1:必須有XML聲明語句 聲明是XML文檔的第一句,其格式如下: 聲明的作用是告訴瀏覽器或者其它處理程序:這個文檔是XML文檔。聲明語句中的version表示文檔遵守的XML規(guī)范的版本;standalone表示文檔是否附帶DTD文件,如果有,參數(shù)為no;encoding表示文檔所用的語言編碼,默認是UTF-8。,76,XML語法規(guī)則,規(guī)則2:是否有DTD文件 如果文檔是一個“有效的XML文檔“,那么文檔一定要有相應(yīng)DTD文件,并且嚴格遵守DTD文件制定的規(guī)范。DTD文件的聲明語句緊跟在XML聲明語句后面,格式如下: “!DOCTYPE“是指你要定義一個DOCTYPE; “type-of-doc“是文檔類型的名稱,由你自己定義,通常于DTD文件名相同; “SYSTEM/PUBLIC“這兩個參數(shù)只用其一。SYSTEM是指文檔使用的私有DTD文件的網(wǎng)址,而PUBLIC則指文檔調(diào)用一個公用的DTD文件的網(wǎng)址。 “dtd-name“ 就是DTD文件的網(wǎng)址和名稱。所有DTD文件的后綴名為“.dtd“。 ,77,XML語法規(guī)則,規(guī)則3:注意大小寫 在XML文檔中,大小寫是有區(qū)別的。和是不同的標識。注意在寫元素時,前后標識大小寫要保持一樣。例如:ajie,寫成ajie是錯誤的。 最好養(yǎng)成一種習(xí)慣,或者全部大寫,或者全部小寫,或者大寫第一個字母。這樣可以減少因為大小寫不匹配產(chǎn)生的文檔錯誤。,78,XML語法規(guī)則,規(guī)則4:給屬性值加引號 在HTML代碼里面,屬性值可以加引號,也可以不加。例如:word和word都可以被瀏覽器正確解釋。 但是在XML中則規(guī)定,所有屬性值必須加引號(可以是單引號,也可以是雙引號),否則將被視為錯誤。 規(guī)則5:所有的標識必須有相應(yīng)的結(jié)束標識 在HTML中,標識可能不是成對出現(xiàn)的。而在XML中規(guī)定,所有標識必須成對出現(xiàn),有一個開始標識,就必須有一個結(jié)束標識。否則將被視為錯誤。,79,XML語法規(guī)則,規(guī)則6:所有的空標識也必須被關(guān)閉 空標識就是標識對之間沒有內(nèi)容的標識。比如,等標識。在XML中,規(guī)定所有的標識必須有結(jié)束標識,針對這樣的空標識,XML中處理的方法是在原標識最后加/,就可以了。例如: 應(yīng)寫為; 應(yīng)寫為; 應(yīng)寫為,80,X LINK與X POINTER .X Link ( XML Linking Language )是XML的規(guī)范之一,它的鏈接功能遠遠超過HTML。X Link有標準鏈接和擴展鏈接兩種功能。標準鏈接只有一個Locator, 即只能指令一個Resource作為鏈接對象,它與HTML的鏈接錨( anchor ) 很相似。 2.XPointor ( XML Pointor Language )為XML指針語言。利用它,可以指定XML文檔中的任何一部分。它提高了定位的精度,是尋址的常用方法。通過XPoint計數(shù)功能,可以方便地指定各個元素和元素中的一部分文字,即特定的元素、特定的文字列。,81,XML的應(yīng)用,XML驅(qū)動的Web不僅更快、更友好、更適合進行數(shù)據(jù)傳遞與資源共享,而且能定義復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、構(gòu)建多層次獨立的DTD系統(tǒng)、數(shù)據(jù)樹、超鏈接結(jié)構(gòu)、元數(shù)據(jù)和樣式表。因此。XML為第二代Web構(gòu)建奠定了健壯的基礎(chǔ)結(jié)構(gòu)。,82,XML的應(yīng)用,XML在不同領(lǐng)域有著廣泛的應(yīng)用,比如在科技領(lǐng)域的MathML,無線通信應(yīng)用的WML,在網(wǎng)絡(luò)圖象方面的SVG等等,我們這里側(cè)重討論XML在web上的應(yīng)用。XML在web上應(yīng)用主要是利用其強大的數(shù)據(jù)操作能力。一般用XML配合Javascript和asp等服務(wù)器端程序,可以實現(xiàn)網(wǎng)絡(luò)上幾乎所有的應(yīng)用需求。,83,XML的應(yīng)用,在網(wǎng)絡(luò)上顯示公式對在線教育非常重要。今天的瀏覽器還不能支持直接的公式表示和顯示。人們普遍采用一些圖形方法在網(wǎng)頁中顯示公式。但是這種方法往往不能產(chǎn)生理想的公式排版效果,也就影響了在線教育內(nèi)容的整體質(zhì)量。那么公式顯示的難點在哪里?根本問題在于今天的HTML并沒有定義公式這種特殊排版格式。從HTML的標準來看,如果考慮公式的定義(必然還要考慮顯示其他特殊的功能),那么整個標準的內(nèi)容將變得繁復(fù)不堪。在HTML定義中已經(jīng)存在了天然的局限性,這個問題注定要留給XML技術(shù)來解決。 MathML就是這樣的一種XML語言,它的定義就是為了解決在網(wǎng)絡(luò)技術(shù)文檔中如何表示公式標記。現(xiàn)在XML已經(jīng)成為了W3C (/Math/)的一個標準。MathML在基于網(wǎng)絡(luò)的教育、出版和信息交換中正在發(fā)揮越來越重要的作用。MathML完全采用XML的定義規(guī)范,可以表示幾乎所有類型的公式。 例如,下面一段MathML:,84,XML的應(yīng)用,85,XML的應(yīng)用,就是以下一個簡單公式的內(nèi)部描述: MathML還可以用于表示集合、矩陣等非常復(fù)雜的數(shù)學(xué)表達式,86,XML的應(yīng)用,(1)應(yīng)用于客戶需要與不同的數(shù)據(jù)源進行交互時。數(shù)據(jù)可能來自不同的數(shù)據(jù)庫,他們都有各自不同的復(fù)雜格式。但客戶與這些數(shù)據(jù)庫間只通過一種標準語言進行交互,那就是XML。由于XML的自定義性及可擴展性,它足以表達各種類型的數(shù)據(jù)??蛻羰盏綌?shù)據(jù)后可以進行處理,也可以在不同數(shù)據(jù)庫間進行傳遞??傊谶@類應(yīng)用中,XML解決了數(shù)據(jù)的統(tǒng)一接口問題。但是,與其他的數(shù)據(jù)傳遞標準不同的是,XML并沒有定義數(shù)據(jù)文件中數(shù)據(jù)出現(xiàn)的具體規(guī)范,而是在數(shù)據(jù)中附加tag來表達數(shù)據(jù)的邏輯結(jié)構(gòu)和含義。這使XML成為一種程序能自動理解的規(guī)范。,87,XML的應(yīng)用,(2)應(yīng)用于將大量運算負荷分布在客戶端,即客戶可根據(jù)自己的需求選擇和制作不同的應(yīng)用程序以處理數(shù)據(jù),而服務(wù)器只須發(fā)出同一個XML文件。如按傳統(tǒng)的“客戶/服務(wù)器“工作方式,客戶向服務(wù)器發(fā)出不同的請求,服務(wù)器分別予以響應(yīng),這不僅加重服務(wù)器本身的負荷,而且網(wǎng)絡(luò)管理者還須事先調(diào)查各種不同的用戶需求以做出相應(yīng)不同的程序,但假如用戶的需求繁雜而多變,則仍然將所有業(yè)務(wù)邏輯集中在服務(wù)器端是不合適的,因為服務(wù)器端的編程人員可能來不及滿足眾多的應(yīng)用需求,也來不及跟上需求的變化,雙方都很被動。應(yīng)用XML則將處理數(shù)據(jù)的主動權(quán)交給了客戶,服務(wù)器所作的只是盡可能完善、準確地將數(shù)據(jù)封裝進XML文件中,正是各取所需、各司其職。XML的自解釋性使客戶端在收到數(shù)據(jù)的同時也理解數(shù)據(jù)的邏輯結(jié)構(gòu)與含義,從而使廣泛、通用的分布式計算成為可能。,88,XML的應(yīng)用,(3)應(yīng)用于將同一數(shù)據(jù)以不同的面貌展現(xiàn)給不同的用戶。它類似于同一個劇本,我們卻可以用電視劇、電影、話劇、動畫片等不同形式表現(xiàn)出來。這一應(yīng)用將會為網(wǎng)絡(luò)用戶界面?zhèn)€性化、風(fēng)格化的發(fā)展鋪平道路。 (4)應(yīng)用于網(wǎng)絡(luò)代理對所取得的信息進行編輯、增減以適應(yīng)個人用戶的需要。有些客戶取得數(shù)據(jù)并不是為了直接使用而是為了根據(jù)需要組織自己的數(shù)據(jù)庫。比方說,教育部建立一個龐大的題庫,考試時將題庫中的題目取出若干組成試卷,再將試卷封裝進XML文件,接下來便是最精彩部份,在各個學(xué)校讓其通過一個過濾器,濾掉所有的答案,再發(fā)送到各個考生面前,未經(jīng)過濾的內(nèi)容則可直接送到老師手中,當(dāng)然考試過后還可以再傳送一份答案匯編。此外,XML文件中還可以包含進諸如難度系數(shù)、往年錯誤率等其他相關(guān)信息,這樣只需幾個小程序,同一個XML文件便可變成多個文件傳送到不同的用戶手中。,89,XML優(yōu)勢,(1)更有意義的搜索 數(shù)據(jù)可被XML唯一的標識。沒有XML,搜索軟件必須了解每個數(shù)據(jù)庫是如何構(gòu)建的。這實際上是不可能的,因為每個數(shù)據(jù)庫描述數(shù)據(jù)都是不同的。有了XML,書就可以很容易以標準的方式按照作者、標題、ISBN序號或其他的標準分類。搜索書就變得十分方便。 (2)開發(fā)靈活的Web應(yīng)用軟件 數(shù)據(jù)一旦建立,XML能被發(fā)送到其他應(yīng)用軟件、對象或者中間層服務(wù)器做進一步地處理?;蛘咚梢园l(fā)送到桌面用瀏覽器瀏覽。XML和HTML、腳本、公共對象模式一起為靈活的三層Web應(yīng)用軟件的開發(fā)提供了所需的技術(shù)。,90,XML優(yōu)勢,(4)不同來源數(shù)據(jù)的集成 現(xiàn)在搜索多樣的不兼容的數(shù)據(jù)庫實際上是不可能的。XML能夠使不同來源的結(jié)構(gòu)化的數(shù)據(jù)很容易的結(jié)合在一起。軟件代理商可以在中間層的服務(wù)器上對從后端數(shù)據(jù)庫和其他應(yīng)用處來的數(shù)據(jù)進行集成。然后,數(shù)據(jù)就能被發(fā)送到客戶或其他服務(wù)器做進一步的集合、處理和分發(fā)。 (5)多種應(yīng)用得到的數(shù)據(jù) XML的擴展性和靈活性允許它描述不同種類應(yīng)用軟件中的數(shù)據(jù),從描述搜集的Web頁到數(shù)據(jù)記錄。同時,由于基于XML的數(shù)據(jù)是自我描述的,數(shù)據(jù)不需要有內(nèi)部描述就能被交換和處理。,91,XML優(yōu)勢,(6)本地計算和處理 XML格式的數(shù)據(jù)發(fā)送給客戶后,客戶可以用應(yīng)用軟件解析數(shù)據(jù)并對數(shù)據(jù)進行編輯和處理。使用者可以用不同的方法處理數(shù)據(jù),而不僅僅是顯示它。XML文檔對象模式(DOM)允許用腳本或其他編程語言處理數(shù)據(jù)。數(shù)據(jù)計算不需要回到服務(wù)器就能進行。分離使用者觀看數(shù)據(jù)的界面,使用簡單靈活開放的格式,可以給Web創(chuàng)建功能強大的應(yīng)用軟件,這些軟件原來只能建立在高端數(shù)據(jù)庫上。 (7)數(shù)據(jù)的多樣顯示 數(shù)據(jù)發(fā)到桌面后,能夠用多種方式顯示。通過以簡單開放擴展的方式描述結(jié)果化的數(shù)據(jù),XML補充了HTML,被廣泛的用來描述使用者界面。HTML描述數(shù)據(jù)的外觀,而XML描述數(shù)據(jù)本身。由于數(shù)據(jù)顯示與內(nèi)容分開,XML定義的數(shù)據(jù)允許指定不同的顯示方式,使數(shù)據(jù)更合理地表現(xiàn)出來

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論