Html江郎才盡,電子商務呼喚春天
HTML(Hyper Text Markup Language,超文本語言)是W3C公司開發的Web語言。由於Html簡單易用,而且使用成本低,所以很快就受到人們的關注,並成為Internet上的標准Web語言,一直延用至今。
HTML的受重用程度在當時的Internet來說是可以理解的。因為當時的電腦技術較低,浏覽器根本不可能解釋更為復雜的Web語言,在這種情況下,Html在功能上基本地很好滿足當時的需求。國外的許多大型企業, 迅速地建立起自己的網站,展示自己的產品(或服務)、企業管理、企業文化等,然而僅僅是為了展示而已。企業的經理們並沒有想到,Internet的發展會如此之快,更沒有想到的是出現“電子商務”浪潮,Internet走進了經濟時代。
近年來,隨著 Web的應用越來越廣泛和深入,人們漸漸覺得HTML不夠用了,HTML過於簡單的語法嚴重阻礙了用它來表現復雜的形式。盡管HTML推出了一個又一個新版本(最新版本是1999年發布的Html4.0),但始終滿足不了不斷增長的需求。
電子商務的出現,企業與企業在Internet上頻頻碰面,企業間的交流越來越重要,彼此數據交換的需求越來越大,然而,HTML過於簡單的語法,有限的標簽嚴重地制約著企業通過Web進行數據交換。雖然人們想通過對HTML進行升級來滿足企業的需求,但是由於HTML開發之初“有限標簽”的本質沒能改變,即使新版本的HTML也沒能解決需求問題。人們急需一個行而有效的方案來解決Html的缺陷,滿足電子商務的發展。
近年來,隨著計算機技術的火箭式發展,已經可以實現比Html開發之初復雜得多的浏覽器,計算機硬件也能處理更為復雜的程序,因此,開發一種新的Web語言既是必要,也是可能的……
W3C公司開發的XML便是在這種需求聲中闖進Web世界。XML作為新一代Web語言,將革命性地改變以Web為基礎的電子商務應用形態,因為XML為網頁編輯上的可攜性及平台獨立性、系統的兼容性、數據交互性、資源的整合和物流管理等等的電子商務應用,提供了完整的解決方案。
SGML、Html、XML的親緣關系
其實,早就有這麼一個全世界標准的標記語言,可以用來定義某一類文件格式標志,解決Html的困惑,那就是SGML(標准通用標記語言)。它是一個國際標准(ISO 8879),用來形容和定義結構化的電子文件,在1980年就制訂了。不過,由於SGML過於詳細和復雜,所以一直沒有被廣泛地采用。
國內知道SGML的人恐怕不多,這也並不為奇,因為SGML在我國並未得到廣泛的應用,盡管出版界人士對SGML並不陌生。事實上,在國外GAML的應用已經滲透到各個領域,如瑞士的歐洲原子核共同研究所,牛津大學出版社,美國證券委員會,美國國防部等均應用了SGML進行信息數據交換或印刷出版。
SGML是一種處理電子化文檔的計算機語言,作為ISO8879號標准,它獨立於任何計算機和系統,它所采用的文檔的表現形式是為了使其能被多角度地利用和保證文檔在異種機之間的交換。
這些年來,SGML在中國漸漸地受到重視,國家圖書館的一批有識之士正致力於促進我國SGML的應用,除出版行業外,SGML成功地應用於數字圖書館的研究中,正受到舉世矚目。
雖然SGML具有將文件以對象(Object)方式進行處理等優點,理論上來說可以彌補Html的缺陷。但是由於它的開發早於Web的誕生,在Web環境下的應用產生了諸如○1SGML標准過嚴、過復雜○2SGML不支持鏈接標准○3SGML不支持排版方式等根本性問題,使得SGML直接應用於Web的難度非常大。
HTML是一種標記語言,也可以說是一種格式化文件(通過標簽來格式化文本),因為,Html是在SGML標准的基礎上開發出來應用於Web的語言。
當我們浏覽(浏覽器為微軟IE)一個網頁時,通過子菜單欄的查看\源文件可以查看該Web頁的源代碼。源代碼中我們可以發現HTML是由<HTML>、<TITLE>、<BODY>、<TABLE>等許許多多的標簽組成的,浏覽器在解釋網頁時在源代碼前部分發現<HTML>標簽便會以HTML標准解釋文件,將Html的內容顯示於屏幕上。
<Html>
<HEAD>
<TITLE>這是一個HTML文檔</Html>
</HEAD>
<BODY BGCOLOR=”#FFFFFF”>
<H1>通過標簽顯示內容</H1>
</BODY>
</Html>
由以上的代碼段可知,Web的內容便是通過HTML標簽的屬性或標簽對間的文字表示出來的,如:<BODY BGCOLOR=”#FFFFFF”>、<TITLE>這是一個HTML文檔</TITLE>,浏覽器正是通過解釋Html這些有限標簽的代碼,使Web變得豐富多彩。
HTML簡單易用,由於它的語法簡單,很容易開發HTML的編輯軟件。但它的最大限制也在於它過於簡單的語法及有限的標簽機制,使得Html在應用范圍內受到限制主要有:
1、可用標簽種類有限,不能精確了描述信息;
2、數據格式不能表現其內在意義;
3、不能表現深層的信息結構,因此不適於大量文檔的存儲;
4、除去電子閱覽,將Html用於其它領域應用時,機能欠佳;
5、Html的信息表現形式不適於再利用;
6、不齒印刷頁的概念;
7、精細的編排指定不可能;
8、全文檢索的結果不精確;
9、Html和Web浏覽器的機能強化的結果,造成了Web浏覽器間互換機能的部分消失;
由於HTML有限的標簽,使得其只能從形態上表示內容,而在意義上表現內容方面顯得無能為力。例子HTML代碼中的:<P>100</P>只能解釋成數字100,但是究竟是指100個人,100噸,100元呢,卻不得而知了。但Internet上的電子商務的電子數據是有意義的,¥RMB100與$100在數值上是一樣的,但在意義上卻有天淵之別,企業間的數據共享及數據交換必須從意義上區分開這些數據。因此,在企業通過Internet頻繁交往,數據交換需求不可壓制的電子商務時代,由於Html本身的缺陷,窮其所能也只是能實現“數字的交換”而非“數據的交換”。
XML——未來網絡的基磐技術
就在Html江郎才盡之時,新一代Web的基磐技術——XML誕生了。
1996~19976年,W3C公司(World Wide Web Consortium,WWW聯盟)開發了XML(Extensible Markup Language,可擴展標記語言),並於1998年2月正式發布了XML1.0版本。盡管XML作為一種技術得到廣泛認可,但W3C是一個備受關注的組織,它吸收了主要的軟件廠商和研究機構作為成員,為避免美國法律的反競爭訴訟,W3C將這些充分審核過的技術文檔作為推薦文檔而不是強制標准。
HTML是SGML在Web上的一種應用,XML即是從SGML孕育出來的最優秀的子女。XML是SGML的一個子集,所以XML繼承了SGML多數功能,也繼承了SGML的元語言的特征。也就是說,XML作為應用語言既可以在Web直接利用,又可用於開發應用語言,而且更優越於SGML。XML是以Web利用為前提,以解決Html缺陷為目的,對SGML進行機能的擴張,並刪掉和變更了SGML中一部分影響其實用化的機能。所以XML以20%的SGML難易度實現了SGML80%的機能。
XML主要設計目標是:
1、能夠在Web上直接利用;
2、廣范圍應用程序的可利用性;
3、盡量保持和SGML的互換性;
4、處理XML的程序可簡單地編寫;
5、XML的文檔要具有較高的可讀性;
6、嚴密但並不復雜的規則;
7、去掉選定Option機能,減輕應用程序的處理負荷;
8、不把標簽數量的減少作為重要的工作。
XML中的X——Extensible的中文解釋為“可擴展的”,這是XML優越於Html最大的地方——允許用戶建立自己的標簽,而不是使用某些固定的有限的標簽!
<?XML VERSION=”1.0” ENCODING=”GB2313”?>
<書店>
<圖書>
<書名 類型=”經濟”>西方經濟學</書名>
<價格 幣種=”人民幣” 單位=”元”>60</價格>
<作者 國籍=”中國”>高鴻業</作者>
<ISDN>7-300-00337/F-991</ISDN>
<出版社 年份=”2000年2月” 版次=”第二版”>中國人民大學出版社</出版社>
</圖書>
</書店>
如上是一個簡單的XML文件源代碼。很明顯的可以看出它的宣言跟Html的不一樣,支持用戶自由建立標簽及其屬性,並且支持中文標記。
為了填補HTML的缺陷,從意義上描述電子數據,XML沿襲了SGML的用戶自由定義標簽的機制。因此,XML表示電子數據內容時更為直觀有效,並能輕易地用於企業間電子數據的交換。如<價格 幣種=”人民幣” 單位=”元”>60</價格>可看出,該商品的“價格”是“60”“元”“人展幣”,比起Html來顯示更直觀。而且允許用於企業間的兩向溝通,即在不同數據庫格式,不同數據庫結構的兩個或多個企業之間進行電子數據交換的橋梁。
為什麼說企業間的電子數據交換如此困難呢?因為為企業提供數據庫軟件的供應商有很多,比較有規模的有如SQL 、Oracle、PowerBuilder、Informix等,它們彼此間的技術各不相同,要直接進行電子數據交換近於不可能;而且即使企業能使用同一種數據庫,各自數據庫的結構又均不相同,同樣不能直接進行電子數據交換。因此,由於XML的可擴展性,能夠很好地完成企業各自數據庫間電子數據交換的任務。
XML能夠很好地表示電子數據,而且使其很好地於企業間進行交換,並真正流行的另一個原因在於XML支持中文標簽。
說XML支持中文標簽,更准確地說是XML支持非英語字符集。由於Internet使依靠信息技術的貿易真正地全球化,因此新一代Web語言支持非英語字符集成為必要。有鑒於此,XML支持Unicode(統一字符編碼),該標記包含了全球已知的50000種書寫語言的計算機處理的表示文本字符系統。最近的Unicode3.0版本符合國際標准字符集ISO/IEC 10646-1:2000,它使用雙字節或16位表示字符,這樣可以對多數已知的字符集,包括科技和數字符號進行編號,Unicode提供了超過65000個字符的代碼。真正地實現XML的全球化。
當浏覽器(IE)運行某一個XML文件時,在其首行發現XML文件的宣言——<? Xml=”1.0” Encoding=”…”?>時,便會以XML的標准解釋文件,而不是以Html標准。若XML文件沒有錯誤的話,浏覽器將會以樹狀顯示文件內容。這樣便利於浏覽XML文件內容。
XML的相關技術
我們說XML將成為下一代Web的基磐技術,並非只因XML擁有以上特征。為了使XML的規范完整,XML延用了SGML的DTD技術(選擇性使用)。
XML的可X——擴展性固然帶來了許多優越,但有些情況下,這種欠缺規范的擴展性卻往往令標簽的使用無規則而導致文件結構混亂,DTD就是XML延用SGML進行文件類型定的部分。
DTD(Document Type Definition:文檔類型定義)通過要素宣言(Element Type Declaration)來定義文檔要素的名稱(標簽名),要素出現的順序及要素出現的次數。
從邏輯上講,XML文件分為包含DTD的構造和不包含DTD的構造,分別稱為合法的XML文件和結構完整的XML文件。合法的XML文檔中,DTD位於XML宣言和文檔要素之間,它可以與XML宣言處於同一實體(文件)之中,但更多的是作為外部實例(外部文件)而單獨完成然後被引用。
DTD的設計,首先應分析所應處理的信息,當作為企業、團體間進行信息交換為目的時,應該以標准化,通用性,中立性,永久性等方面考慮;其次,當文件只用於公司內部時,應當著重考慮其運行的可能性,經濟性,與終端用戶接口等因素。
DTD除本身文檔類型宣言外,由要素型宣言,屬性一覽宣言,實體宣言以及記法宣言四大宣言組成。
文檔類型宣言是指對標簽代表的文檔的各要素及其層次結構的宣言、要素附屬信息的屬性宣言、實現值怎樣進行置標簽等問題所作的具體規定。
要素型宣言:XML實現值可使用的要素的定義。規定要素的名稱、要素的層次結構。
屬性一覽宣言:定義作為要素附加信息的屬性。某要素有何屬性、屬性名為何、屬性值的指定、屬性的指定是否必須、屬性的缺省值為何。
實體宣言:在XML實現值及DTD中欲利用的實體的定義。欲置換的文字及文字串,欲加入到XML文體文檔中的外部文件為何、參照它時所用的實體名的指定。
記法宣言:作為外部文件被參照的實體采用了XML以外的記法時,為識別它們的記法而指定的名稱。
DTD就是通過其四大宣言來規范XML文件結構,使得其結構統一嚴謹,防止電子數據在交換時產生錯誤,造成不必要的經濟損失。
XML的名字空間
XML名字空間提供了一種避免元素名沖突的方法。
由於XML中的標簽名不是固定的,因此當兩個不同的文檔使用同樣的名字描述兩個不同類型的元素時就會發生命名沖突。如果這兩個擁有相同標簽名的XML文檔被加在一起,就會發生一個標簽命名沖突,因為這兩個文檔都包含了一個同名的標簽,而這兩個元素的內容和定義很可能不同。XML名字空間便是通過使用一個標簽前綴,創建了兩個不同類型但相同命名的標簽,避免了標簽名沖突。
W3C名字空間規范規定名字空間本身應該是一個統一資源識別號 (URI)。當一個名字空間在一個元素的起始標記中被定義時,所有相同前綴的子元素都與同樣的名字空間相關。一個統一資源識別號(URI)是識別一個Internet資源的字符串。通常URI就是識別一個Internet域地址的URL。另外,有少數一些類型的URI 是通用資源名(URN)。由於我們只使用一個Internet地址去識別其名字空間,所以我們可以肯定我們的名字空間是唯一的。
XML文件樣式版技術——CSS與XSL
我們知道XML中內容與表現形式是分開的,這使不同的利用者可依各自的需要來定義數據表現形式。換句話說,在XML文法中,由DTD來定義要素,但各個要素的含義和對其進行的處理不由DTD決定。所以,當用浏覽器顯示XML數據時,對應於各個要素應采用怎樣的字體和字號,這種有關顯示格式的問題,必須事先決定。格式的指定可看成賦予XML數據含義的一種方式。比如,通常字號較大的XML數據為標題等等。
XML可用的格式指定語言有兩種,CSS(Cascading Style Sheets,層疊格式表)和XSL(Extensible Stylesheet Language,可擴展格式語言)。
CSS的起源是設計用於指定Html文件的格式,隨著XML的誕生,對其進行了版本升級,以同時適用於XML文檔。CSS語言主要是通過對XML文檔的標簽或屬性賦予格式信息,使得各標簽內容以設定的格式展示於浏覽器中。
CSS可以作為外部文件被引用,也可以與XML文件整合在一起,但是為了便於管理和共享,原則上提倡運用作為外部文件被引用。當需要用一個文件來管理XML文檔時,可采用將其格式表置於XML文檔的實體部分;當欲突出某一特殊部分時,可采取對該部分進行單獨格式記述的文法。而且把CSS樣式表文件作為外部文件引用,XML在浏覽器上外觀的修改,只需修改外部的CSS文件即可,不破壞XML文件的結構,而且大大地簡化修改過程和復雜性。
XSL是吸取了DSSSL(Document Style Semantice and specification Language,文檔格式含義指定語言。SGML文檔格式指定的國際標准。)和CSS機能的基礎上針對XML特性而產生的。XSL除CSS的機能外,還可以實現兩大機能:1、文件結構的變換;2、處理的指定。
文件結構的變換,作為XSL功能的主要一部分,是所謂的SXLT(Transformation,變換)。利用SXLT可將某一個XML文件依需要變換成為另一個XML文件;另一方面,由於HTML的廣泛使用,也需將XML文件變換成HTML文件進行浏覽顯示。SXLT開發的原意是在於後者,這樣以來,Html文件的浏覽器可以顯示XML文件內容。而現在,SXLT可各種類型的文件之間進行變換。
處理的指定,利用XSL不但可進行各種轉換以滿足不同的需要,同時,也可在XSL中加入腳本語言。通過腳本語言可實現諸如,元素的排序、文字的操作、數值計算、要素的計數等各種處理。
此外,XPath - XML匹配模式(XML Pattern Matching)、XLink - XML鏈接語言(XML Linking Language)、 XPointer - XML指針語言(XML Pointer Language)、XSD - XML模式(XML Schema)、XDR - 數據簡化(XML Data RedUCed)、DOM - 文檔對象模型(Document Object Model)、XQL - XMl查詢語言(XML Query Language)、SAX - XML的簡單API(Simple API for XML)等XML的相關技術,使得XML世界變得豐富多彩,並使得XML應用於各行各業。其中XML的四大應用優勢為:
(1)客戶需要與不同的數據源進行交互時,數據可能來自不同的數據庫,它們都有各自不同的復雜格式。(2)將大量運算負荷分布在客戶端,即客戶可根據自己的需求選擇和制作不同的應用程序以處理數據,而服務器只須發出同一個XML文件。
(3)將同一數據以不同的面貌展現給不同的用戶。類似於同一個劇本,我們卻可以用電視劇、電影、話劇、動畫片等不同形式表現出來。這一應用將會為網絡用戶界面個性化、風格化的發展鋪平道路。
(4)網絡代理對所取得的信息進行編輯、增減以適應個人用戶的需要。
這些應用,離不開XML的相關技術,雖然其中的某些技術只存在於理論階段,或現今的浏覽器無法實現其前景功能,但是XML的發展勢不可擋,它在電子商務上的應用是必然的。我們可以想象,廉價的XML—EDI使得中小型企業也輕松地享受數據交換的樂趣;未來的搜索引擎能夠通過XML直接尋找出用戶指定的唯一的需求信息,徹底消除搜索的垃圾部分;當將XML與VRL技術的聯合使用,人們可以通過顯示器和鼠標真實地觀察和觸摸到企業的產品;當XML在網絡遠程教育的使用成熟之後,教育的觀念又將會如何改變……
XML——電子商務光明的未來
當新科技不斷沖擊Internet的發展之際,XML技術將對電子商務有重大影響。XML的人機互動式架構提供了使用者與電腦之間的互動交流,利用其可延伸性及自我描述特性,電子通信文件可以在企業間的應用程序中自動傳輸、處理及儲存;可以在同一個使用者界面上接入不同廠商的電子商品目錄信息,數據的搜尋變得更為精確快速;不同系統間可以流暢地互通,不同網站之間的數據得以動態共享,強化了使用者與系統之間的聚合性。
XML所帶來的是一個全新的視野,一種對於整個電子商務架構在觀念上的顛覆,而中小企業也可以輕易享受電子商務的好處。電子商務的威力已開始顯現,在可預期的未來,全球經濟也一定會受到這種網上電子商務的強力震撼,在電子商務的浪潮既將來臨之際,XML是一個不可忽視的新技術。