DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML的四個神話:XML屬於世界(1)
XML的四個神話:XML屬於世界(1)
編輯:XML詳解     

當XML被W3C批准後迅速在1998年2月進入歷史舞台,被稱為"當年突然湧現的技術"。它被稱為Html的繼任者,還被有些人稱為結構化數據交換的未來混合語。

由於XML是從它W3C開始的陰暗處湧現出來的,也許不可避免地,這一新數據格式將象它吸引狂熱愛好者一樣快地開始產生錯誤概念。在本文中,我將在一些關於XML的神話成為永久性錯誤理解前澄清它們。

神話1:XML是由微軟領導的共同成果

XML是一個共同成果,但不是微軟的。實際上,XML是由一個Sun微系統公司組織的標記語言專家小組提出的,以開發歷史悠久的ISO標准SGML用於Web的一種形式。

微軟確實是XML工作中的一個主要參與者,但是其它一些大公司也是如此(Sun,惠普,Netscape, Adobe和富士及施樂),還有主要的SGML廠商和系統集成商(ArborText,Inso, SoftQuad,Grif,TExcel和Isogen),學術團體的代表(NCSA和Text Encoding Initiative),早期使用者(DataChannel 和Vignette),和世界上最主要的SGML專家之一James Clark,他是W3CSGML的技術領袖。

關於XML,令人驚異的是所有這些人和組織都將個人和公司議事日程放在一邊,合作建立一個天生開放的標准,完全由用戶需求驅動。這些需求包括:

◆可擴展性,以定義需要的新標記。

◆結構,以表示任意復雜程度的數據。

◆校驗,以檢查數據的結構正確性。

◆媒體無關性,以用多種格式發布內容。

◆廠商和平台中立,以用標准的商業軟件甚至簡單的文本工具處理任何滿足標准的文檔。

雖然我不得不欽佩微軟對XML概念的熟練使用和推銷,但是XML並不屬於微軟。XML屬於世界。

神話2:XML是Html的一個擴展

早期對XML的概括已導致許多人相信XML僅僅是一種通過增加新標記來擴展HTML的方法。實際上,XML和HTML在標記語言中處於完全不同的層次。HTML是一種標記語言--一套具有標准意義的標准分隔符,可放到文檔中以指示文檔中特定部分的角色。例如,在一個Html文檔中<H2>和 </H2>之間的任何東西都被理解為一個第二級文檔標題。

◆標記語言

對標記語言的經驗只局限於Web的人們經常驚訝地得知Html只是許許多多標准標記語言中的一種,這些語言在特定行業內已被開發多年。例如,航空業有一種飛機維護手冊的標記語言,稱為ATA-2100,半導體行業有一種用於電路數據的標記語言,稱為PCIS,而計算機行業有一種用於軟件文檔的標記語言,稱為DocBook。

這些標記語言中有些比HTML使用得更久,其中許多面向的是要解決的問題不同的方面。例如,考慮這段Html:

<H2>Second-level heading</H2>

這是一段很可能屬於上面標題的文本。</P>

一段類似的DocBook可能看起來象這樣:

<SECT2>

<TITLE>二級標題</TITLE>

<PARA>這是一段肯定屬於上面標題的文本。

我們知道這一點是因為它們都包含在同一個SECT2元素內。

</PARA>

</SECT2>

雖然這些不同的標記語言有它們的不同之處,所有這些,包括Html,在三方面都是類似的。

◆每一個都定義了一套有標准化含義和標准化使用規則的標准標記--換句話說,一個標准化的語法。

◆每一個都設計為對某一特定類型的文檔或數據工作得最好。

◆都使用有12年歷史的國際文本處理標准SGML定義它們的標准標記集和語法。

所有這些語言看起來也相似,因為它們都使用熟悉的尖括號,繼承自SGML的具體引用句法。

◆SGML層

根據上面的描述,應該很清楚SGML本身屬於一個不同於任何用SGML定義的個別標記語言的概念層,SGML和特定標記語言的區別經常被總結為SGML是一種元語言而不是一種語言。這是一個很不精確的概括。SGML不象真正的元語言那樣抽象,如巴克斯/納爾范式(BNF),它是用於定義程序設計語言的。不過,稱SGML為元語言確實使人抓住了關鍵:SGML不是一種特定的標記語言;它是一種定義標記語言的語言。

理解XML的關鍵因素是它屬於SGML層,而不是HTML層。XML是SGML的一種簡化形式,而不是Html的一種擴展形式。XML和SGML的區別是XML的設計者去除了許多SGML的高級特性,這些特性使得難以在一個Web浏覽器中實現一個SGML的完全解析器。

但是基本思想是一樣的:XML是一種允許創建無限種不同用途的不同標記語言的技術。XML的關鍵--和它變得如此普及的原因--是所有可用它定義的不同的特殊用途語言都能被一個標准化的處理程序解析,這一程序小得可以內嵌入每一個Web浏覽器中。

不理解這一區別的人們往往得出一個結論,認為一個對XML敏感的應用將允許他們簡單地在他們的HTML文檔中到處撒上新的標記。試圖用這種方式"擴展"Html將使我們已得到的一團糟更加混亂。

神話3:XML可以自己驅動Web浏覽器

記住Html概念是一種包含相對小標准標記集的標記語言,與一些多少標准化的行為相關。XML概念是一個無限大的可能標記的集合,相關的行為根本沒有標准。行為的規范必須來自其它某個地方。在發布時,這通常是一個樣式表,但是在其它領域可以象JavaBeans一樣柔性,或者象一種行業標准協議一樣專門,程序員在其上編寫標准化應用。

◆句法不是語義

XML支持者將這一點總結為XML定義句法而不是語義。一些理論家則反對說這一簡單化的表述忽視了XML句法對象和構成它們所表示的XML數據(如元素和屬性)的語義聯系。然而,"句法而非語義"這一口號試圖強調的更多,更簡單:不像Html標記,XML標記沒有預定義的含義。意義或行為必須由以程序的運行條件或者腳本或者用樣式表的聲明條件甚至古老而好用的普通文本提供。

當預期的XML用戶可憐地詢問XML如何在他們的Web浏覽器上顯示時,關於這一點的混淆就很明顯了。回答是它並不顯示--至少不是靠它自己。

要在一個浏覽器內仿效現在對HTML所做的,你必須單獨提供Html作為一個整體但是難以管理的整體所提供的:你必須提供一個文檔的內容(在XML中表示)和對它的處理,而這必須用程序定義(用腳本)或者聲明它(用樣式表)。

◆樣式表

當前缺乏一種既使對於XML也足夠強大同時又易於使用的樣式表語言,這阻止了XML作為Web文檔的普遍使用。為Html開發的樣式表語言層疊樣式表(CSS)可用於為XML文檔應用樣式,但它不具備基於XML發布通常所需的轉換和生成結構(例如目錄)的能力。

文檔樣式語義和規范語言(The Document Style Semantics and Specification Language)--為SGML設計的ISO樣式表語言--具有高級發布項目所需的功能。但是DSSSL(與"whistle"同韻)有一個基於模式(Scheme)程序設計語言的句法,許多人會發現很難學習。它也缺乏一個豐富的聲明層,這使得幾乎不可能保證獨立開發的樣式表編輯器能互操作。

這正是擴展樣式語言(XSL)的切入點。作為一開始的XML大計劃的一部分,XSL是一種新的語言,將結合DSSSL的功能和XML的簡單性以及層疊樣式表已建立的"樣式屬性"術語。1998年1月建立的一個W3C XSL工作組正忙於定義這一使基於XML的Web發布成為可能的語言。

雖然一個最終的XSL規范還需要幾乎一年時間,第一個XSL工作草案現在已經在W3C Web網站上發布了,網址是http://www.w3.org/TR/WD-xsl。隨著它的進入新世紀,這一初期規范值得任何想進行電子發布的人審慎關注。

神話4:XML只是針對數據的

由於我們還沒有一個足夠強大的樣式表語言以使XML說明它作為一種發布方法的優越性,第一批XML應用是基於它自己能做的事情的:傳輸結構化數據。

◆一個單一的、可被人閱讀的句法

通過串行排列任何種類的結構化數據--包括相關數據--以一種使其能用簡單、隨處可見的標准化工具處理和顯示的方式,XML給我們提供了一個單一的、人可閱讀的句法。一個標准的、易於處理的串行數據格式蘊涵的更大意義是難以想象的,但是它們顯然將對電子商務有巨大的影響。另外,看來很清楚,電子商務將最終在一般意義上成為商務的同義詞。

XML之於數據正如Java之於程序,將使數據與平台和廠商無關。這一能力正在推動一波XML中間件應用,1999年初將開始隨處可見。然而,XML支持數據和元數據交換的能力不應使我們的注意力從XML最初的設計目的上轉移。XML的設計者考慮的不僅僅是一個數據的傳輸層,而且是一個通用的媒體無關的發布格式,這將支持使用每一種語言的所有技術水平的用戶。

◆媒體無關的發布

媒體無關的發布實際上是一個比數據交換要難的多的問題。事實上,可以說一般意義上的發布的需求是數據交換需求的超集。XSL的到來將使通用的發布解決方案成為可能,其後果還很少有人認識到。

理解XML革命性潛力的關鍵在於它只是一個更宏偉圖景的一部分。XML本身可以提供標准化的數據庫和電子表格的交換格式。這很好。但是XML和XSL在一起也可以取代現有的字處理和桌面出版格式。它實際上可以給我們一個單一的、完全國際化的格式,具有幾乎無限的打印和在線發布的能力,在所有產品和所有平台上都完全能互操作。這一點所意味的遠遠超越了數據交換和Web。

◆標准化發布對用戶意味著什麼

XML和XSL的組合可能比今天的Html要復雜和難以處理的多,所以它最初將由一些手工處理大而專業化的出版應用的專家使用。這些應用將要求最高程度的自動化和媒體無關性--報紙,工商行名錄,百科全書,產品目錄,電視節目表,等等。

只有當普通字處理和桌面出版程序開始用XML和XSL的組合而不是專有格式來存儲文件時,標准化的處理才會開始從這一專家的專業化群體向外擴展。這不是一個技術問題,而是一個經濟問題,因為出版工具的大廠商在歷史上依賴於專有格式以限制他們的用戶。只有當普通用戶開始意識到標准化、開放的格式的益處,並且開始要求對其的支持時,廠商才會向其轉變。

一個標准化的數據和表達格式的好處是無法抵御的。它們包括:

◆應用和平台間內容和樣式的完全互操作性;

◆內容創建者脫離廠商對生產工具的控制;

◆用戶選擇他們自己對內容查看方式的自由。

◆容易創建強有力的處理大規模內容的工具;

◆獨立軟件開發商的一個公平競爭的場地;和

◆所有媒體上的真正國際化發布。

我相信用戶對這些好處的意識將最終迫使廠商支持標准化方法,正如用戶對訪問因特網的需求迫使廠商支持Web一樣。

作為其後果,許多種類的桌面軟件應用生產者和消費者之間的關系將重新建立,這將被證明為對我們大家都有巨大的好處。這將意味著少數大公司對市場的控制的終結,另外,可能更重要的是,少數大國對市場的控制的終結。 結果將是更好的產品和人類之間更好的通訊。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved