隨著互聯網的迅猛發展和普及,人們可以通過計算機與互聯網聯接,從世界各地實時的接收和發送大量、最新的信息,但在信息交換的過程中存在著一個突出的問題,就是多種多樣的數據格式,給信息的有效使用帶來了障礙。所以在信息時代,如何以最便捷、最可靠、最有效的方式獲取所需的信息是一個很大的困擾。人們期待著能夠找到一種可以描述任何邏輯關系的數據格式來統一電子數據的存儲,從而不再因為數據格式的不統一而苦惱和困惑。目前,能夠擔當此任的就是xml(extensible markup language,可擴展符號化語言)。
可以說,xml的出現給數據交換帶來了一場革命;xml的出現是至今為止最聰明的一種符號化語言;xml成為下一代網絡發展的基石。
xml誕生的背景
sgml介紹
說到xml,我們一定要先了解一下sgml (standard generalized markup language) 。sgml最初是由ibm開發的一種用于排版的符號化語言,稱為gml。經過若干年的發展,1984年國際標準化協會(iso)開始對此提案進行討論,于1986年正式承認sgml為國際標準規范(iso8879)。
xml作為電子數據交換的統一格式
sgml實際上是一種通用的文檔結構描述符號化語言,主要用來定義文獻模型的邏輯和物理類結構。一個sgml語言文件由三部分組成,即語法定義、文件類型定義dtd(definition type document)和文件實例。語法定義部分定義了文件類型定義和文件實例的語法結構;文件類型定義部分定義了文件實例的結構和組成結構的元素類型;文件實例是sgml語言程序的主體部分。
在sgml的實際使用中,每一個特定的dtd都定義了一類文件。因此,人們習慣上把具有某一特定dtd的sgml語言,稱為某某符號化語言。這樣sgml就成為那些派生語言的元語言。
html的出現
1989年,歐洲物理量子實驗室(cern)的信息專家蒂姆·伯納斯·李發明了超文本鏈接語言, 使用此語言能輕松地將一個文件中的文字或圖形連到其它的文件中去,這就是html的前身。1991年,蒂姆·伯納斯·李在cern定義了html語言的第一個規范,之后成為w3c組織為專門在互聯網上發布信息而設計的符號化語言規范。可以說,html(hypertext markup language)是sgml的一個實例,它的dtd作為標準被固定下來。因此,html不能作為定義其它符號化語言的元語言。
作為world wide web的一個組成部分,html語言發展很快,在短短的幾年里,它已歷經了html1.0、html2.0和html3.0、html4.0等多個版本,同時dhtml (動態)、vhtml(虛擬)、shtml等也飛速發展起來。html以簡單精練的語法、極易掌握的通用性與易學性,使web網頁可以親近于每一個普通人,互聯網因此得以普及發展以至今日輝煌。
但是,目前的html還不穩定,不同的瀏覽器會產生不同的顯示效果。此外 ,由于html對超級鏈接支持不足,并缺乏空間立體描述,處理圖形、圖像、音頻、視頻等多媒體能力較弱,圖文混排功能簡單,不能表示多種媒體的同步關系等缺點,也影響html的大規模應用以及用于復雜的多媒體數據處理。
xml的誕生
xml是由w3c于1998年2月發布的一種標準。它同樣是sgml的一個簡化子集,它將sgml的豐富功能與html的易用性結合到web的應用中,以一種開放的、自我描述方式定義了數據結構。在描述數據內容的同時能突出對結構的描述,從而體現出數據之間的關系。這樣所組織的數據對于應用程序和用戶都是友好的、可操作的。之后,w3c又用xml設計出一個與html4.01功能等價的語言,稱為xhtml1.0 (extensible hyper text markup language)使之與html相兼容。
xml是sgml的一個子集,嚴格地講,xml也還是sgml。與html不同的是xml有dtd,因而也可以像sgml那樣作為元語言來定義其它文件系統,或稱其它符號化語言。如果把符號化語言分為元符號化語言和實例符號化語言的話,sgml和xml都是元符號化語言,而html和由xml派生的xhtml都是實例符號化語言。
所以可以說,xml的出現,使html存在的問題可以得到很好的解決。
xml的特點
xml作為引人注目的核心技術應用于btob、web服務、.net等許多系統中。xml是it界談話中不可缺少的一個關鍵詞。因此,xml對于計算機工程師來說,是必不可少的一門知識。
xml可以作為電子數據交換的統一格式
10年來,web存儲格式語言,從html發展到dhtml,直到今天最新的xml,發展的每一步,都是為了適應web應用發展的需求。雖然xml原本是為出版界設計的一種文檔描述語言,即sgml派生而來的一種符號化語言,但是它也是為互聯網的數據交換而設計的。從而,xml不僅僅是sgml定義的用于描述的文檔,而且在電子商務等各個領域使數據交換成為可能。
xml能夠應用于各種領域的原因,就是xml具有到目前為止其他方法所不具備的數據描述特點,控制信息不是采用應用軟件的獨有形式,而是采用誰都可以看得懂的標記形式來表現,所以xml最適合作為數據交換的標準,這也是 xml受人關注的原因。
用xml可以對數據關系進行定義形成特有的標準,因此各行各業都在建立自己的行業化標準,以應用于網絡上處理電子商務,把后臺系統通過web站點表現出來。xml還可以作為數據倉儲,一個xml文件就是一個小的數據庫,通過對數據關系的定義形成各種關系、屬性的數據,實現數據交換、上下文檢索、多媒體傳輸。
xml具有其他方法所不具備的數據描述特點
xml是以文本形式來描述的一種文件格式 由于xml是以文本形式描述的,所以適合于各種平臺環境的數據交換。同樣由于使用文本來描述內容,可以越過不同平臺的障礙進行正常的數據交換。但是,文本形式也會因為文字代碼的不同造成不能閱讀的問題,在這一點上xml有著非常完美的解決方案。
xml使用有意義的標記(tag) 在xml中文件是由一個個稱之為元素(element)的部件構成。使用標記(tag )來描述元素。由于使用了標記的描述方法,可以保持原數據的意思和構造在互聯網上進行數據交換,進而可以保持不同系統之間數據交換的靈活性。
為什么具有上述的優點呢?首先是使用標記描述數據的話,可以具體指出開始元素(開始標記)、結束元素(結束標記),在開始和結束元素之間是要表現的元素數據。這就是用元素表現數據的方法。
標記可以作為子元素 xml中用標記符號化的元素可以作為子元素形成數據嵌套。
xml的標記名和關系可以自由定義 就像許多文章中介紹的那樣“xml是用標記描述的語言”,而且xml的標記名標記的層次結構等都可以由用戶定義。也就是說,根據xml語法可以定義用戶特殊用途的標記集合形成一個全新的符號化語言。這就是xml“可擴充(extensible)”名字的來源。
可以說,xml是“定義語言的語言”,也即是一種元語言。由于xml具有元語言的功能,所以可以成為描述電子商務數據、多媒體演示數據、數學公式等各種各樣數據應用語言的基礎語言。下面提供幾個以xml為基礎生成的數據描述語言(本文亦稱為xml應用語言)的應用例子,即出版媒體:open ebook(電子書籍)、newsml(新聞媒體);科學:mathml(數學表達式)、cml(化學);電子商務:cxml(電子商務)、fpml(金融);多媒體:smil(多媒體演示)、bml(衛星數據傳送)。
另外,就像我們使用的自然語言,講這種語言的人多了就會把它當作不認識的人之間的初次交流時的工具。同樣,在特定的企業之間或在業界內歸納出一套標記集合,即約定用一套特定的xml應用語言作為交流工具是很有價值的。但是,許多xml用戶都是用業界或集團標準化以后的應用語言,很少有人自己制作一套新的xml應用語言。
xml的不足之處
xml作為數據描述語言是非常優秀的,但是并不是所有的電子數據都是轉換到xml是最有效的。例如xml的文本表現手法、標記的符號化等會導致xml數據比二進制表現方法數據量增加,尤其當數據量很大時,會成為很大的問題。也就是說,xml的導入要根據具體需求,比較其優缺點,在充分發揮xml優點的領域進行。
盡管xml具備了作為通用數據描述語言的優秀特征,但是xml不是編程語言,說到底它是一種數據描述的技術。因此xml文件的顯示、文件結構的變更、應用程序的操作等xml相關技術也是非常重要的。
xml的主要相關技術分類
xml是描述內容的數據格式,在使用xml數據時,還需要xml數據的顯示、打印、數據結構的變更等許多相關技術。如果這些相關技術也都標準化的話,即使在不同平臺開發應用程序也都可以用相同的方法,使開發難度降低。
處理xml數據時,一定要使用xml processor(也就是xml parser),把xml數據結構的檢查等交給xml parser去做。
關于xmlprocessor有許多軟件產品,當然,也有不少免費的。開發工程師只需將xml數據的檢查工作交給xmlprocessor即可,集中精力開發應用程序部分,減少了不小的負擔。
應用程序對接收到xmlprocessor傳遞來的xml樹進行處理,向用戶提供服務。此時,不管是電子商務,還是知識管理,都是定義xml數據結構的技術、顯示打印xml數據的技術、xml數據結構變更技術、xml數據聯接整合技術、用程序操作xml樹的api和其它應用技術的組合。
定義xml數據結構的技術
在xml中用戶可以自由的定義標記名以及與標記相關的元素及元素層次,這是xml的主要特征。但是,如果定義的都是只有自己才能理解的標記,就無法與其他人進行交換數據。為了在企業團體之間進行xml格式的數據的交換,xml數據的結構、元素的名稱、元素的數據類型以及元素的親子關系都需要仔細考慮,一定要設計成人和系統能夠理解的語言。這樣設計的xml數據結構在xml領域稱為schema,描述schema的語言稱為schema語言。
dtd 最普通xml的schema語言是dtd(document type definition:文檔類型定義)。dtd是遠在sgml時期就一直使用的schema語言,1998年制訂xml語法時,沿用了描述schema的dtd。
xml schema 在xml中,所謂的“dtd”就是schema文件。dtd描述的schema應用非常廣泛。但是,隨著xml的應用的發展,從sgml繼承下來的dtd顯然有許多不足的地方。為了解決這些問題,w3c制訂了schema語言xml schema。
xml schema中有下述dtd中不具備的特征:多個schema復合使用xml名字空間;用xml語法描述;可以詳細定義元素的內容及屬性值的數據類型。
由于在xml schema中的數據結構也都是用xml數據來表現的,與dtd相比數據量增大很多。但是,xml schema的表現力要遠比dtd強得多,不僅支持字符串、10進制數、浮動小數點、日期等,還支持m回以上和n回以下出現的元素(m、n為整數)的指定。例如“郵編xxxxxx”(x是字符)是郵政編碼元素的格式指定等都是dtd所不能表現的內容。xml schema于2001年5月成為w3c的推薦規范,對xml的利用產生了重要的影響。
顯示和打印xml數據的技術
xml數據定義打印、顯示排版信息主要有3種方法: 用css定義打印和顯示排版信息;用xslt轉換到html進行顯示和打??;用xslt轉換成xsl的fo(formatter object) 進行顯示和打印。
css 指定文件排版信息的數據稱為樣式表,描述html樣式表的語言是css(cascading style sheet)。這里介紹的是使用css來瀏覽、打印xml數據的方法,具體來講css是給html的每個標記元素指定排版信息,同樣也可以用來給xml的標記元素定義顯示排版方法。css不能改變xml的結構,只能在簡單的定義排版信息的時候使用。
xslt 還有一種是使用改變xml數據結構的語言xslt(extensible stylesheet language transformations)的方法。使用xslt,可以改變xml元素名、屬性名、元素層次結構等,根據xslt的指定,可以將xml的元素轉換為html元素,則可以是用瀏覽器瀏覽。亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美国产一本综合首页| 7777kkkk成人观看| 欧美电影免费观看高清| 国产精品视频男人的天堂| 自拍偷拍免费精品| 一区二区三区视频免费在线观看| 在线观看精品自拍私拍| 亚洲人成77777在线观看网| 国产精品美乳在线观看| 国产精品美女午夜av| 91香蕉嫩草神马影院在线观看| 奇门遁甲1982国语版免费观看高清| 精品免费在线观看| 精品欧美国产一区二区三区| 91av视频在线| 日本91av在线播放| 欧美激情精品久久久久久黑人| 欧美成人免费在线视频| 91在线免费看网站| 国产精品自拍视频| 国产精品久久精品| 亚洲视频欧洲视频| 国产精品夜色7777狼人| 青青久久av北条麻妃海外网| 这里精品视频免费| 久久久www成人免费精品张筱雨| 自拍亚洲一区欧美另类| 国产精品亚洲аv天堂网| 亚洲成年人在线| 亚洲精品在线观看www| 成人国产在线视频| 福利视频一区二区| 欧美成人激情在线| 亚洲性av网站| 欧美福利视频在线观看| 色综合久久天天综线观看| 69**夜色精品国产69乱| 亚洲第一精品电影| 91色中文字幕| 国产+人+亚洲| 欧美精品激情视频| 日韩欧美中文第一页| 久久久久久久久电影| 亚洲日本成人女熟在线观看| 日本亚洲精品在线观看| 亚洲精品一区中文| 欧美老少做受xxxx高潮| 国产欧美精品日韩精品| 国产精品天天狠天天看| 欧美日韩成人网| 欧美成人精品xxx| 精品av在线播放| 国产精品男女猛烈高潮激情| 国产a级全部精品| 成人福利在线视频| 欧美国产日本高清在线| 欧美一区二区三区免费观看| 热99在线视频| 亚洲丁香久久久| 少妇av一区二区三区| 国产精品露脸av在线| 97婷婷涩涩精品一区| 久久男人av资源网站| 国产精品69精品一区二区三区| 久久免费在线观看| 中文字幕在线观看亚洲| 最近中文字幕日韩精品| 色偷偷91综合久久噜噜| 欧美亚洲视频在线观看| 亚洲一级一级97网| 日本中文字幕成人| 日韩欧美一区二区在线| 国产一区二区香蕉| 欧美精品性视频| 亚洲成人激情小说| 国产在线98福利播放视频| 亚洲自拍偷拍第一页| 国产精品电影网站| 美女福利视频一区| 日韩视频免费在线观看| 中文字幕av一区中文字幕天堂| 欧美成年人视频| 亚洲人成电影在线播放| 伊人久久大香线蕉av一区二区| 91色精品视频在线| 久久99久久99精品中文字幕| 热久久免费国产视频| 国产精品一区二区在线| 亚洲国产精品人久久电影| 九九热精品视频国产| 亚洲老头老太hd| 在线观看免费高清视频97| 色香阁99久久精品久久久| 欧美日韩国产精品专区| 国产999在线| 久久免费视频网站| 欧美精品一本久久男人的天堂| 亚洲国模精品一区| 欧美精品久久久久久久久| 欧美老女人性生活| 亚洲激情在线观看视频免费| 久久精品电影网| 在线看福利67194| 国产精品国产福利国产秒拍| 欧美日韩成人在线视频| 欧美亚洲在线观看| 国产精品第二页| 日韩国产欧美精品一区二区三区| 国产一区二区丝袜| 91精品国产91久久久久久| 8x海外华人永久免费日韩内陆视频| 91av免费观看91av精品在线| 色综合伊人色综合网站| 久久久精品久久久久| 亚洲性无码av在线| 亚洲欧美www| www.久久久久久.com| 亚洲精品98久久久久久中文字幕| 精品国产老师黑色丝袜高跟鞋| 中文字幕精品www乱入免费视频| 久久亚洲国产精品成人av秋霞| 在线观看精品国产视频| 国产一区二区三区视频| 亚洲图片在线综合| 日韩欧美在线看| 国产日韩欧美自拍| 欧美精品做受xxx性少妇| 精品性高朝久久久久久久| 欧美在线视频一二三| 成人免费视频在线观看超级碰| 国内免费久久久久久久久久久| 欧美日韩免费一区| 青青久久av北条麻妃海外网| 日韩欧美国产免费播放| 国产婷婷成人久久av免费高清| 一本久久综合亚洲鲁鲁| 色视频www在线播放国产成人| 精品夜色国产国偷在线| 欧美www视频在线观看| 精品国产网站地址| 91沈先生在线观看| 在线午夜精品自拍| 日韩av手机在线看| 亚洲精品第一国产综合精品| 国产精品中文字幕久久久| 国产丝袜一区二区三区免费视频| 亚洲成avwww人| 欧美日韩精品在线| 欧美激情在线观看视频| 欧美一级片在线播放| 91亚洲精品久久久| 亚洲精品一区二区三区婷婷月| 亚洲天堂影视av| 欧美精品做受xxx性少妇| 亚洲字幕一区二区| 国产91精品久久久久久| 日韩精品久久久久久福利| 91精品国产九九九久久久亚洲| 亚洲精品日韩久久久| 91国产精品91| 中文字幕在线国产精品| 亚洲午夜精品久久久久久久久久久久| 91精品国产高清久久久久久| 国产亚洲精品久久久优势|