久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

XML是什么,講述XML基礎(chǔ)知識

 ischinese 2009-09-13


XML基礎(chǔ)知識


    隨著互聯(lián)網(wǎng)的迅猛發(fā)展和普及,,人們可以通過計算機與互聯(lián)網(wǎng)聯(lián)接,從世界各地實時的接收和發(fā)送大量,、最新的信息,,但在信息交換的過程中存在著一個突出的問題,就是多種多樣的數(shù)據(jù)格式,,給信息的有效使用帶來了障礙,。所以在信息時代,如何以最便捷、最可靠,、最有效的方式獲取所需的信息是一個很大的困擾,。人們期待著能夠找到一種可以描述任何邏輯關(guān)系的數(shù)據(jù)格式來統(tǒng)一電子數(shù)據(jù)的存儲,從而不再因為數(shù)據(jù)格式的不統(tǒng)一而苦惱和困惑,。目前,,能夠擔當此任的就是xml(extensible markup language,可擴展符號化語言),。

  可以說,,xml的出現(xiàn)給數(shù)據(jù)交換帶來了一場革命;xml的出現(xiàn)是至今為止最聰明的一種符號化語言,;xml成為下一代網(wǎng)絡(luò)發(fā)展的基石,。

   什么是XML?XML是EXtensible Markup Language的縮寫。XML是一種類似于HTML的標記語言,。XML是用來描述數(shù)據(jù)的,。XML的標記不是在XML中預(yù)定義的,你必須定義自己的標記,。XML使用文檔類型定義(DTD)或者模式(Schema)來描述數(shù)據(jù),。XML使用DTD或者Schema后就是自描述的語言。RSS (Really Simple jkndication) 是一種用于發(fā)布和獲取網(wǎng)絡(luò)內(nèi)容(例如頭條新聞)的XML格式,。使用RSS閱讀器來閱讀,,你可以不用一個個去開頁面,也能夠很快地知道關(guān)注網(wǎng)絡(luò)內(nèi)容更新了沒有,。目前RSS有多個版本,,如:0.90,、0.91、0.92,、0.93,、0.94、1.0 和 2.0,,而應(yīng)用最廣泛的有RSS 1.0 和 RSS 2.0 兩個版本,。XML和HTML的主要區(qū)別是什么。XML是用來存放數(shù)據(jù)的,。

    XML不是HTML的替代品,,XML和HTML是兩種不同用途的語言。XML是被設(shè)計用來描述數(shù)據(jù)的,,重點是:什么是數(shù)據(jù),,如何存放數(shù)據(jù)。HTML是被設(shè)計用來顯示數(shù)據(jù)的,,重點是:顯示數(shù)據(jù)以及如何顯示數(shù)據(jù)更好上面,。HTML是與顯示信息相關(guān)的, XML則是與描述信息相關(guān)的。XML 什么也不做,。XML 被設(shè)計成什么都不做的,。也許看起來很難理解,但事實上XML確實什么都不做,。XML只是用來組織,、存儲和發(fā)送信息的。下面的例子是Ordm給Lin的便條,,使用的是XML格式:

<note> <to>Lin</to> <from>Ordm</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

    這個便條有信息頭,,又信息主體,還包括發(fā)送人和接收人,。盡管如此,,這個XML文檔仍然什么都不做,他只是用XML標記存儲信息的文件,。有人已經(jīng)編寫出來發(fā)送和接收并且顯示這種格式信息的軟件,。XML是自由的、可以擴展的,。XML標記并不是預(yù)先規(guī)定好的,,你必須創(chuàng)造你自己的標記。在HTML文檔中必須使用規(guī)則中定義好的標記,。比如:<P><br><a></a>等等,。XML允許你定義自己的標記以及文檔結(jié)構(gòu)。比如在上面例子中的"<to>",、"<from>"標記都不是在XML規(guī)范中事先定義好的,。這些標記都是XML文檔的作者“創(chuàng)造”出來的,。

    XML是HTML的補充。XML并不是HTML的替代品,。XML并不是HTML的替代品,,理解這一點非常重要。在將來的網(wǎng)頁開發(fā)中,,XML將被用來描述,、存儲數(shù)據(jù),而HTML則是用來格式化和顯示數(shù)據(jù)的,。對于XML最好的形容可能是: XML是一種跨平臺的,,與軟,、硬件無關(guān)的,,處理信息的工具,。XML在未來Web開發(fā)中的應(yīng)用,。XML無處不在,。XML發(fā)展的非常迅速,,這實在令人感到驚奇,,有很多的軟件開發(fā)商都采用了XML標準,。我們相信,,在未來的Web開發(fā)中,XML將和HTML一樣受到重視,,他們都是Web技術(shù)的基礎(chǔ),。XML將成為最普遍的數(shù)據(jù)操縱和數(shù)據(jù)傳輸?shù)墓ぞ摺?/p>


    xml誕生的背景 

    sgml介紹


  說到xml,我們一定要先了解一下sgml (standard generalized markup language) ,。sgml最初是由ibm開發(fā)的一種用于排版的符號化語言,,稱為gml。經(jīng)過若干年的發(fā)展,,1984年國際標準化協(xié)會(iso)開始對此提案進行討論,,于1986年正式承認sgml為國際標準規(guī)范(iso8879)。

xml:下一代網(wǎng)絡(luò)的基石  

  圖:xml作為電子數(shù)據(jù)交換的統(tǒng)一格式



  sgml實際上是一種通用的文檔結(jié)構(gòu)描述符號化語言,,主要用來定義文獻模型的邏輯和物理類結(jié)構(gòu),。一個sgml語言文件由三部分組成,即語法定義,、文件類型定義dtd(definition type document)和文件實例,。語法定義部分定義了文件類型定義和文件實例的語法結(jié)構(gòu);文件類型定義部分定義了文件實例的結(jié)構(gòu)和組成結(jié)構(gòu)的元素類型,;文件實例是sgml語言程序的主體部分,。 

  在sgml的實際使用中,每一個特定的dtd都定義了一類文件,。因此,,人們習(xí)慣上把具有某一特定dtd的sgml語言,,稱為某某符號化語言。這樣sgml就成為那些派生語言的元語言,。 

html的出現(xiàn) 

  1989年,,歐洲物理量子實驗室(cern)的信息專家蒂姆·伯納斯·李發(fā)明了超文本鏈接語言, 使用此語言能輕松地將一個文件中的文字或圖形連到其它的文件中去,這就是html的前身,。1991年,,蒂姆·伯納斯·李在cern定義了html語言的第一個規(guī)范,之后成為w3c組織為專門在互聯(lián)網(wǎng)上發(fā)布信息而設(shè)計的符號化語言規(guī)范,??梢哉f,html(hypertext markup language)是sgml的一個實例,,它的dtd作為標準被固定下來,。因此,html不能作為定義其它符號化語言的元語言,。 

  作為world wide web的一個組成部分,,html語言發(fā)展很快,在短短的幾年里,,它已歷經(jīng)了html1.0,、html2.0和html3.0、html4.0等多個版本,,同時dhtml (動態(tài)),、vhtml(虛擬)、shtml等也飛速發(fā)展起來,。html以簡單精練的語法,、極易掌握的通用性與易學(xué)性,使web網(wǎng)頁可以親近于每一個普通人,,互聯(lián)網(wǎng)因此得以普及發(fā)展以至今日輝煌,。 

  但是,目前的html還不穩(wěn)定,,不同的瀏覽器會產(chǎn)生不同的顯示效果,。此外  ,由于html對超級鏈接支持不足,,并缺乏空間立體描述,,處理圖形、圖像,、音頻,、視頻等多媒體能力較弱,圖文混排功能簡單,,不能表示多種媒體的同步關(guān)系等缺點,,也影響html的大規(guī)模應(yīng)用以及用于復(fù)雜的多媒體數(shù)據(jù)處理,。 

xml的誕生 

  xml是由w3c于1998年2月發(fā)布的一種標準。它同樣是sgml的一個簡化子集,,它將sgml的豐富功能與html的易用性結(jié)合到web的應(yīng)用中,,以一種開放的、自我描述方式定義了數(shù)據(jù)結(jié)構(gòu),。在描述數(shù)據(jù)內(nèi)容的同時能突出對結(jié)構(gòu)的描述,,從而體現(xiàn)出數(shù)據(jù)之間的關(guān)系。這樣所組織的數(shù)據(jù)對于應(yīng)用程序和用戶都是友好的,、可操作的,。之后,w3c又用xml設(shè)計出一個與html4.01功能等價的語言,,稱為xhtml1.0 (extensible hyper text markup language)使之與html相兼容,。 

  xml是sgml的一個子集,嚴格地講,xml也還是sgml,。與html不同的是xml有dtd,因而也可以像sgml那樣作為元語言來定義其它文件系統(tǒng),,或稱其它符號化語言,。如果把符號化語言分為元符號化語言和實例符號化語言的話,sgml和xml都是元符號化語言,,而html和由xml派生的xhtml都是實例符號化語言,。 

  所以可以說,xml的出現(xiàn),,使html存在的問題可以得到很好的解決,。 

xml的特點 

  xml作為引人注目的核心技術(shù)應(yīng)用于btob、web服務(wù),、.net等許多系統(tǒng)中,。xml是it界談話中不可缺少的一個關(guān)鍵詞。因此,,xml對于計算機工程師來說,,是必不可少的一門知識。 

xml可以作為電子數(shù)據(jù)交換的統(tǒng)一格式 

  10年來,,web存儲格式語言,,從html發(fā)展到dhtml,直到今天最新的xml,,發(fā)展的每一步,,都是為了適應(yīng)web應(yīng)用發(fā)展的需求。雖然xml原本是為出版界設(shè)計的一種文檔描述語言,,即sgml派生而來的一種符號化語言,,但是它也是為互聯(lián)網(wǎng)的數(shù)據(jù)交換而設(shè)計的,。從而,xml不僅僅是sgml定義的用于描述的文檔,,而且在電子商務(wù)等各個領(lǐng)域使數(shù)據(jù)交換成為可能,。 

  xml能夠應(yīng)用于各種領(lǐng)域的原因,就是xml具有到目前為止其他方法所不具備的數(shù)據(jù)描述特點,,控制信息不是采用應(yīng)用軟件的獨有形式,,而是采用誰都可以看得懂的標記形式來表現(xiàn),所以xml最適合作為數(shù)據(jù)交換的標準,,這也是 xml受人關(guān)注的原因,。 

  用xml可以對數(shù)據(jù)關(guān)系進行定義形成特有的標準,因此各行各業(yè)都在建立自己的行業(yè)化標準,,以應(yīng)用于網(wǎng)絡(luò)上處理電子商務(wù),,把后臺系統(tǒng)通過web站點表現(xiàn)出來。xml還可以作為數(shù)據(jù)倉儲,,一個xml文件就是一個小的數(shù)據(jù)庫,,通過對數(shù)據(jù)關(guān)系的定義形成各種關(guān)系、屬性的數(shù)據(jù),,實現(xiàn)數(shù)據(jù)交換,、上下文檢索、多媒體傳輸,。 

xml具有其他方法所不具備的數(shù)據(jù)描述特點 

  xml是以文本形式來描述的一種文件格式 由于xml是以文本形式描述的,,所以適合于各種平臺環(huán)境的數(shù)據(jù)交換。同樣由于使用文本來描述內(nèi)容,,可以越過不同平臺的障礙進行正常的數(shù)據(jù)交換,。但是,文本形式也會因為文字代碼的不同造成不能閱讀的問題,,在這一點上xml有著非常完美的解決方案,。 

  xml使用有意義的標記(tag) 在xml中文件是由一個個稱之為元素(element)的部件構(gòu)成。使用標記(tag )來描述元素,。由于使用了標記的描述方法,,可以保持原數(shù)據(jù)的意思和構(gòu)造在互聯(lián)網(wǎng)上進行數(shù)據(jù)交換,進而可以保持不同系統(tǒng)之間數(shù)據(jù)交換的靈活性,。 

  為什么具有上述的優(yōu)點呢,?首先是使用標記描述數(shù)據(jù)的話,可以具體指出開始元素(開始標記),、結(jié)束元素(結(jié)束標記),,在開始和結(jié)束元素之間是要表現(xiàn)的元素數(shù)據(jù)。這就是用元素表現(xiàn)數(shù)據(jù)的方法。 

標記可以作為子元素 xml中用標記符號化的元素可以作為子元素形成數(shù)據(jù)嵌套,。 

  xml的標記名和關(guān)系可以自由定義 就像許多文章中介紹的那樣“xml是用標記描述的語言”,,而且xml的標記名標記的層次結(jié)構(gòu)等都可以由用戶定義。也就是說,,根據(jù)xml語法可以定義用戶特殊用途的標記集合形成一個全新的符號化語言,。這就是xml“可擴充(extensible)”名字的來源。 

  可以說,,xml是“定義語言的語言”,,也即是一種元語言。由于xml具有元語言的功能,,所以可以成為描述電子商務(wù)數(shù)據(jù),、多媒體演示數(shù)據(jù)、數(shù)學(xué)公式等各種各樣數(shù)據(jù)應(yīng)用語言的基礎(chǔ)語言,。下面提供幾個以xml為基礎(chǔ)生成的數(shù)據(jù)描述語言(本文亦稱為xml應(yīng)用語言)的應(yīng)用例子,,即出版媒體:open ebook(電子書籍)、newsml(新聞媒體),;科學(xué):mathml(數(shù)學(xué)表達式),、cml(化學(xué));電子商務(wù):cxml(電子商務(wù)),、fpml(金融),;多媒體:smil(多媒體演示)、bml(衛(wèi)星數(shù)據(jù)傳送),。 

  另外,,就像我們使用的自然語言,,講這種語言的人多了就會把它當作不認識的人之間的初次交流時的工具,。同樣,在特定的企業(yè)之間或在業(yè)界內(nèi)歸納出一套標記集合,,即約定用一套特定的xml應(yīng)用語言作為交流工具是很有價值的,。但是,許多xml用戶都是用業(yè)界或集團標準化以后的應(yīng)用語言,,很少有人自己制作一套新的xml應(yīng)用語言,。


   xml的不足之處 

  xml作為數(shù)據(jù)描述語言是非常優(yōu)秀的,但是并不是所有的電子數(shù)據(jù)都是轉(zhuǎn)換到xml是最有效的,。例如xml的文本表現(xiàn)手法,、標記的符號化等會導(dǎo)致xml數(shù)據(jù)比二進制表現(xiàn)方法數(shù)據(jù)量增加,尤其當數(shù)據(jù)量很大時,,會成為很大的問題,。也就是說,xml的導(dǎo)入要根據(jù)具體需求,比較其優(yōu)缺點,,在充分發(fā)揮xml優(yōu)點的領(lǐng)域進行,。 

  盡管xml具備了作為通用數(shù)據(jù)描述語言的優(yōu)秀特征,但是xml不是編程語言,,說到底它是一種數(shù)據(jù)描述的技術(shù),。因此xml文件的顯示、文件結(jié)構(gòu)的變更,、應(yīng)用程序的操作等xml相關(guān)技術(shù)也是非常重要的,。 

xml的主要相關(guān)技術(shù)分類 

  xml是描述內(nèi)容的數(shù)據(jù)格式,在使用xml數(shù)據(jù)時,,還需要xml數(shù)據(jù)的顯示,、打印、數(shù)據(jù)結(jié)構(gòu)的變更等許多相關(guān)技術(shù),。如果這些相關(guān)技術(shù)也都標準化的話,,即使在不同平臺開發(fā)應(yīng)用程序也都可以用相同的方法,使開發(fā)難度降低,。 

  處理xml數(shù)據(jù)時,,一定要使用xml processor(也就是xml parser),把xml數(shù)據(jù)結(jié)構(gòu)的檢查等交給xml parser去做,。 

  關(guān)于xmlprocessor有許多軟件產(chǎn)品,,當然,也有不少免費的,。開發(fā)工程師只需將xml數(shù)據(jù)的檢查工作交給xmlprocessor即可,,集中精力開發(fā)應(yīng)用程序部分,減少了不小的負擔,。 

  應(yīng)用程序?qū)邮盏絰mlprocessor傳遞來的xml樹進行處理,,向用戶提供服務(wù)。此時,,不管是電子商務(wù),,還是知識管理,都是定義xml數(shù)據(jù)結(jié)構(gòu)的技術(shù),、顯示打印xml數(shù)據(jù)的技術(shù),、xml數(shù)據(jù)結(jié)構(gòu)變更技術(shù),、xml數(shù)據(jù)聯(lián)接整合技術(shù),、用程序操作xml樹的api和其它應(yīng)用技術(shù)的組合,。 

定義xml數(shù)據(jù)結(jié)構(gòu)的技術(shù) 

  在xml中用戶可以自由的定義標記名以及與標記相關(guān)的元素及元素層次,,這是xml的主要特征,。但是,如果定義的都是只有自己才能理解的標記,,就無法與其他人進行交換數(shù)據(jù),。為了在企業(yè)團體之間進行xml格式的數(shù)據(jù)的交換,,xml數(shù)據(jù)的結(jié)構(gòu)、元素的名稱,、元素的數(shù)據(jù)類型以及元素的親子關(guān)系都需要仔細考慮,,一定要設(shè)計成人和系統(tǒng)能夠理解的語言,。這樣設(shè)計的xml數(shù)據(jù)結(jié)構(gòu)在xml領(lǐng)域稱為schema,,描述schema的語言稱為schema語言,。 

  dtd 最普通xml的schema語言是dtd(document type definition:文檔類型定義)。dtd是遠在sgml時期就一直使用的schema語言,,1998年制訂xml語法時,沿用了描述schema的dtd,。 

  xml schema 在xml中,,所謂的“dtd”就是schema文件,。dtd描述的schema應(yīng)用非常廣泛,。但是,,隨著xml的應(yīng)用的發(fā)展,,從sgml繼承下來的dtd顯然有許多不足的地方。為了解決這些問題,,w3c制訂了schema語言xml schema,。 

  xml schema中有下述dtd中不具備的特征:多個schema復(fù)合使用xml名字空間,;用xml語法描述,;可以詳細定義元素的內(nèi)容及屬性值的數(shù)據(jù)類型,。 

  由于在xml schema中的數(shù)據(jù)結(jié)構(gòu)也都是用xml數(shù)據(jù)來表現(xiàn)的,與dtd相比數(shù)據(jù)量增大很多,。但是,,xml schema的表現(xiàn)力要遠比dtd強得多,不僅支持字符串,、10進制數(shù)、浮動小數(shù)點,、日期等,,還支持m回以上和n回以下出現(xiàn)的元素(m、n為整數(shù))的指定,。例如“郵編xxxxxx”(x是字符)是郵政編碼元素的格式指定等都是dtd所不能表現(xiàn)的內(nèi)容,。xml schema于2001年5月成為w3c的推薦規(guī)范,對xml的利用產(chǎn)生了重要的影響,。 

顯示和打印xml數(shù)據(jù)的技術(shù) 

  xml數(shù)據(jù)定義打印,、顯示排版信息主要有3種方法: 用css定義打印和顯示排版信息,;用xslt轉(zhuǎn)換到html進行顯示和打??;用xslt轉(zhuǎn)換成xsl的fo(formatter object) 進行顯示和打印,。 

  css 指定文件排版信息的數(shù)據(jù)稱為樣式表,,描述html樣式表的語言是css(cascading style sheet),。這里介紹的是使用css來瀏覽,、打印xml數(shù)據(jù)的方法,,具體來講css是給html的每個標記元素指定排版信息,同樣也可以用來給xml的標記元素定義顯示排版方法,。css不能改變xml的結(jié)構(gòu),,只能在簡單的定義排版信息的時候使用。 

  xslt 還有一種是使用改變xml數(shù)據(jù)結(jié)構(gòu)的語言xslt(extensible stylesheet language transformations)的方法,。使用xslt,,可以改變xml元素名、屬性名,、元素層次結(jié)構(gòu)等,,根據(jù)xslt的指定,可以將xml的元素轉(zhuǎn)換為html元素,,則可以是用瀏覽器瀏覽?,F(xiàn)在,這種用瀏覽器顯示xml數(shù)據(jù)的方法是最常用的方法,。 

  xsl xsl(extensible stylesheet language)是用xml描述的文件,。它是一種可以詳細描述商用印刷排版水平的規(guī)范,xsl排版信息的定義,。用xsl指定排版信息的方法由2步組成: 

  將要打印,、顯示的原xml樹進  行結(jié)構(gòu)變換,追加排版信息生成新的樹結(jié)構(gòu)(xsl-fo樹);將這個新樹傳遞給xsl-fo對應(yīng)的打印和顯示引擎進行相應(yīng)的操作,。 

xml數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換技術(shù) 

  在xml的應(yīng)用中,,有的xml數(shù)據(jù)需要轉(zhuǎn)換到其他結(jié)構(gòu)的xml數(shù)據(jù),為此w3c制訂了描述標準化的xml數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換規(guī)則的語言xslt,。 

  xslt是為顯示和打印xml,,而從xsl規(guī)范獨立出來的規(guī)范,原本是描述排版信息的語言,,因此,,用xslt制作的程序稱為樣式表。但是,,xslt也可以用于排版以外的各種用途,。 

  例如,使用了不同schema(標記集合)的企業(yè)團體之間交換xml數(shù)據(jù)時,,需要將使用了各公司獨自數(shù)據(jù)格式的xml數(shù)據(jù)向雙方系統(tǒng)共同采用的業(yè)界標準格式結(jié)構(gòu)轉(zhuǎn)換以后,,才可能進行數(shù)據(jù)交換。在xslt中不僅描述了轉(zhuǎn)換規(guī)則,,結(jié)構(gòu)轉(zhuǎn)換還可以交給xslt樣式表的執(zhí)行引擎(xslt processor),。為了跨過業(yè)界之間的障礙實現(xiàn)數(shù)據(jù)交換,其它文件格式的數(shù)據(jù)交換也會經(jīng)常發(fā)生,,盡管如此,,結(jié)構(gòu)轉(zhuǎn)換時如果利用xslt,可以不改更程序只改變樣式表就可以了,。 

  隨著xml的普及,,xslt的應(yīng)用也會更加廣泛。在windows上,,只需進行簡單的環(huán)境設(shè)定,,用ie 5.x和任意一個文本編輯器就可以制作和執(zhí)行xslt。即使只會一點點制作xslt樣式表的方法,,就可以很簡單的進行xml的處理了,,非常方便。 

  隨著計算機和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展深入xml技術(shù)的應(yīng)用也將不斷擴大,。該技術(shù)不僅在傳統(tǒng)的銀行之間數(shù)據(jù)交換,、證券公司對上市公司情況的數(shù)據(jù)統(tǒng)計、圖書館對圖書的查詢檢索,、企事業(yè)文件檔案管理等領(lǐng)域的應(yīng)用更加迫切,,在電子商務(wù)、搜索引擎軟件,、自動智能翻譯,、文檔發(fā)聲軟件等領(lǐng)域也將得到更大的發(fā)展,,特別是近期發(fā)展起來的移動通訊網(wǎng)絡(luò)服務(wù)的發(fā)展,將使各種各樣的信息經(jīng)過格式轉(zhuǎn)換到達pda,、甚至到達手持電話機,,將來我們可以通過網(wǎng)絡(luò)數(shù)據(jù)格式轉(zhuǎn)換服務(wù)使小小的手機可以閱讀到大千世界的豐富信息。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多