網絡技術發展到今日,的確已滲透到社會生活的每一個角落。而令網絡如此平易近人,為大眾所接受,單靠TCP/IP是遠遠不夠的,由此,HTML——超文本標識語言便應運而生,並以其簡單精練的語法、極易掌握的通用性與易學性,使WEB網頁可以親近於每一個普通人,互聯網也才得以普及發展以至今日的輝煌。
然而,電子商務、電子圖書、遠程教育等全新領域如異軍突起,迅猛發展並逐漸成為互聯網世界必不可少且愈發重要的組成部分,隨之而來的是WEB文件的復雜化、多樣化、智能化,於是高容量、高信息量、高效率便成為網絡信息傳輸技術發展的追求。與此同時還有另一種需求變得愈發廣泛而迫切,那便是同樣的數據能否根據不同用戶不同需求而以不同的效果、形式表達、再現出來。舉一個簡單的例子。假設我們要在網上拍賣一幅油畫,而在一個WEB文件中包含了有關這幅油畫的全部信息,包括油畫名稱、油畫簡介、作者名稱、作者簡介、拍賣行信息、拍賣底價、各競價方名稱、各競價方出價、最高價等等。而在客戶端有各種用戶,如拍賣行的經紀人,他並不需要任何有關油畫本身的信息,而只需看到一個包含所有競價方及其競價的統計列表;而那些競價方則希望看到自己喜歡的有關油畫的資料,他們有的喜歡作者,有的喜歡油畫的內容,有的則只喜歡畫的色彩等等;另外一些"窮光蛋”也許只想過過眼瘾,看看油畫即可;也許還有一些“別有用心”的人,他們根本就不關心什麼油畫、拍賣,只想讓計算機接收到這個文件後能夠自動地將其分門別類,放到自己與之相對應的數據庫中。這樣一來,這個WEB文件必須具有極高的復雜性與靈活性,以應付如此復雜多變的具體應用。HTML所欠缺的恰恰就是這一點,它的簡單與普遍性原則雖曾使WEB的推廣受益匪淺,但反過來也成為其發展的最大的桎梏,盡管人們已付諸很多努力,包括各式各樣的修改擴充,如增加表格、框架、腳本語言等等,但均未能從根本上改變HTML的局限性。於是人們開始全力重新構造WEB,並相繼誕生了許多新的技術,但由於種種原因大都沒能普及而生存下來。唯有一項,不僅在使用中得到各方肯定,更在短短兩年內迅速崛起,並得到Microsoft、 IBM等各大公司的全力支持,競相開發,成為一股不可遏抑的席卷全球的浪潮,這便是XML——可擴展標識語言。
XML是互聯網聯合組織(W3C)創建一組規范,以便於軟件開發人員和內容創作者在網頁上組織信息,其目的不僅在於滿足不斷增長的網絡應用需求,同時還希望借此能夠確保在通過網絡進行交互合作時,具有良好的可靠性與互操作性。
與HTML一樣,XML也源自SGML(Standard Generalize Markup Language一種老資格的通用標記語言),它保留了SGML 80%的功能,使復雜程度降低了20%,盡管如此,XML卻有著HTML語言所欠缺的巨大的伸縮性與靈活性。XML不再象HTML一樣有著一成不變的格式。XML實際上是一種定義語言,即使用者可以定義無窮無盡的標記來描述文件中的任何數據元素,從而突破了HTML固定標記集合的約束,使文件的內容更豐富更復雜並組成一個完整的信息體系。
XML語言可以讓信息提供者根據需要,自行定義標記及屬性名,也可以包含描述法,從而使XML文件的結構可以復雜到任意程度。XML主要有三個要素:Schema(模式)、XSL(eXtensibleStylesheetLanguage可擴展樣式語言)和XLL(eXtensibleLinkLanguage可擴展鏈接語言)。Schema規定了XML文件的邏輯結構,定義了XML文件中的元素、元素的屬性以及元素和元素的屬性之間的關系,它可以幫助XML的分析程序校驗XML文件標記的合法性;XSL是用於規定XML文檔樣式的語言,它能在客戶端使Web浏覽器改變文檔的表示法,從而不需要再與服務器進行交互通信;XLL 將進一步擴展目前Web上已有的簡單鏈接。
良好的數據存儲格式、可擴展性、高度結構化、便於網絡傳輸是XML主要的四大特點,決定了其卓越的性能表現。由於XML能針對特定的應用定義自己的標記語言,這一特征使得XML可以在電子商務、政府文檔、報表、司法、出版、聯合、CAD/CAM、保險機構、廠商和中介組織信息交換等領域中一展身手,根據不同的系統、廠商提供各具特色的獨立解決方案。
總的說來的XML的應用可分為四類:
一、應用於客戶需要與不同的數據源進行交互時。數據可能來自不同的數據庫,他們都有各自不同的復雜格式。但客戶與這些數據庫間只通過一種標准語言進行交互,那就是XML。由於XML的自定義性及可擴展性,它足以表達各種類型的數據。客戶收到數據後可以進行處理,也可以在不同數據庫間進行傳遞。總之,在這類應用中,XML解決了數據的統一接口問題。但是,與其他的數據傳遞標准不同的是,XML並沒有定義數據文件中數據出現的具體規范,而是在數據中附加tag來表達數據的邏輯結構和含義。這使XML成為一種程序能自動理解的規范。
二、應用於將大量運算負荷分布在客戶端,即客戶可根據自己的需求選擇和制作不同的應用程序以處理數據,而服務器只須發出同一個XML文件。仍以上例為論,如按傳統的“客戶/服務器”工作方式,客戶向服務器發出不同的請求,服務器分別予以響應,這不僅加重服務器本身的負荷,而且網絡管理者還須事先調查各種不同的用戶需求以做出相應不同的程序,但假如用戶的需求繁雜而多變,則仍然將所有業務邏輯集中在服務器端是不合適的,因為服務器端的編程人員可能來不及滿足眾多的應用需求,也來不及跟上需求的變化,雙方都很被動。應用XML則將處理數據的主動權交給了客戶,服務器所作的只是盡可能完善、准確地將數據封裝進XML文件中,正是各取所需、各司其職。XML的自解釋性使客戶端在收到數據的同時也理解數據的邏輯結構與含義,從而使廣泛、通用的分布式計算成為可能。
三、應用於將同一數據以不同的面貌展現給不同的用戶。這一應用也可在上例中體現出來。它又類似於同一個劇本,我們卻可以用電視劇、電影、話劇、動畫片等不同形式表現出來。這一應用將會為網絡用戶界面個性化、風格化的發展鋪平道路。
四、應用於網絡代理對所取得的信息進行編輯、增減以適應個人用戶的需要。有些客戶取得數據並不是為了直接使用而是為了根據需要組織自己的數據庫。比方說,教育部建立一個龐大的題庫,考試時將題庫中的題目取出若干組成試卷,再將試卷封裝進XML文件,接下來便是最精彩部份,在各個學校讓其通過一個過濾器,濾掉所有的答案,再發送到各個考生面前,未經過濾的內容則可直接送到老師手中,當然考試過後還可以再傳送一份答案匯編。此外,XML文件中還可以包含進諸如難度系數、往年錯誤率等其他相關信息,這樣只需幾個小程序,同一個XML文件便可變成多個文件傳送到不同的用戶手中。
綜合以上四種不同類型的應用,我們可以總結出,XML其實源自一種"數據歸其主,用戶盡其歡"的哲學。具體說來便是數據制作者並不考慮日後這些數據具體會有哪些用途,只是盡量全面地考慮今後有可能會被用到的信息,並將其完整、規范地制作成XML文件,服務商則不會被拘禁於特定的腳本語言、制作工具及傳輸引擎的囚籠內,而是提供一種標准化、可獨立銷售、有級別操作的領域,在那裡不同的制作及傳輸工具將各顯神通,一決雌雄,從而極大限度地滿足客戶的需求,成為“最信得過”的服務商。
XML的諸多優點及先進性實在令其光芒四射,備受網絡開發者的青睐,微軟、IBM無不對之秋波頻頻,大有得XML者得天下之勢。尤其是微軟公司行動如疾風閃電,XML1.0剛一出籠它便急不可待地吞了下去,未來的OFFICE2000、Windows2000都將完全采用XML格式,而IE4.0、IE5.0則早已金屋藏嬌了。商業公司如此,國外的研究機構更加鐘情有甚,如W3C(萬維網聯盟)、http://www.gca.org/、http://www.irt.org/等等,各類XML站點如雨後春筍、層出不窮。W3C正在號召全世界的開發人員共同對XML進行定義和開發,XML正走著與LINUX相同的發展道路,但它生逢其時,勢必將比LINUX更加成功。
國外XML技術正發展得如火如荼,而國內呢,卻依舊一派悄然。發展民族產業一味畏縮於國家保護的襁褓之內是永無出頭之日的,永遠只能是一個“大男嬰”,稍經挫折,勢必夭折;發展民族產業單靠豪言壯語、滿腔激情是遠遠不夠的,必須靠敏銳的思維、超前的意識方能取勝;發展民族產業單單依賴政策的開放是遠遠不夠的,思想上的開放、不斷學習世界最新的技術,永遠走在世界前列,這才是成功的關鍵。XML技術雖然發展迅猛,但其應用仍處於初級階段。換句話說,我們現在奮起直追,尤為未晚。
與其大夢醒時方覺晚,不如立時拼博爭朝夕。為了在國內推廣這項勢必風靡世界的技術我們創建了一個網站——http://www.xml.org.cn/,希望借此組建一個網上虛擬組織,以便於更多的有識之士加入到我們的行列,共同將我國的XML技術推向高峰。
許慎、朱麟
——摘自:http://www.chinaunplugged.com