DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> 關於XML的四個神話
關於XML的四個神話
編輯: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,令人驚異的是所有這些人和組織都將個人和公司議事日程放在一邊,合作建立一個天生開放的標准,完全由用戶需求驅動。這些需求包括:
  l 可擴展性,以定義需要的新標記。
  
  l 結構,以表示任意復雜程度的數據。
  
  l 校驗,以檢查數據的結構正確性。
  
  l 媒體無關性,以用多種格式發布內容。
  
  l 廠商和平台中立,以用標准的商業軟件甚至簡單的文本工具處理任何滿足標准的文檔。
  
  雖然我不得不欽佩微軟對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,在三方面都是類似的。
  
  l 每一個都定義了一套有標准化含義和標准化使用規則的標准標記--換句話說,一個標准化的語法。
  
  l 每一個都設計為對某一特定類型的文檔或數據工作得最好。
  
  l 都使用有12年歷史的國際文本處理標准SGML定義它們的標准標記集和語法。
  
  所有這些語言看起來也相似,因為它們都使用熟悉的尖括號,繼承自SGML的具體引用句法。
  
  SGML層
  
  根據上面的描述,應該很清楚SGML本身屬於一個不同於任何用SGML定義的個別標記語言的概念層,SGML和特定標記語言的區別經常被總結為SGML是一種元語言而不是一種語言。這是一個很不精確的概括。SGML不象真正的元語言那樣抽象,如巴克斯/納爾范式(BNF),它是用於定義程序設計語言的。不過,稱SGML為元語言確實使人抓住了關鍵:SGML不是一種特定的標記語言;它是一種定義標記語言的語言。
  
  理解XML的關鍵因素是它屬於SGML層,而不是HTML層。XML是SGML的一種簡化形式,而不是HTML的一種擴展形式。XML和SGML的區別是XML的設計者去除了許多SGML的高級特性

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