從HTML到XML_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:XML經典問答
      一.HTML已經這樣流行了,為什么還要發展XML? 簡單地講,HTML不能完成,我們希望XML所要完成的任務。原因很簡單,XML所要完成的任務,必須由元置標語言來完成,而HTML只是一個實例置標語言。 在XML發布之前,國際互聯網的發展受到HTML如下幾個問題的束縛: 1

      xml(extensible markup language,可擴展標記語言),是當前最熱門的網絡技術之一,被稱為“第二代web語言”、“下一代網絡應用的基石”。自它被提出以來,幾乎得到了業界所有大公司的支持,絲毫不遜于當年html被提出時的熱度。所以,趁現在xml還未普及的時候,趕快搶先學學,以保住將來的飯碗。

      html的缺點

      談xml,不得不先說說“第一代的web語言”——html。html老矣,已經快被淘汰了(夸張了一點,不過html 4.0后就沒有了,取而代之的是依據xml定義的xhtml)。可憐我們這些人,好不容易剛剛能夠湊合著會使用html了,卻又不得不被迫丟棄。為什么呢?html對帶動這些年來www的蓬勃發展,可謂功不可沒。想要在internet上作點事情,幾乎無html不行。但是html有一個致命的缺點,就是:只適合于人與計算機的交流,不適合計算機與計算機的交流。

      大家都知道,html是通過一大堆的標記來定義文檔內容以什么樣的形式顯現在我們面前,也即,html是一種“顯示描述”語言,它僅僅描述了web瀏覽器應該如何在頁面上布置文字、圖形等,并沒有對internet上最重要的東西——信息的本身含義進行描述。這些通過html表現出來的文字、圖形內容很容易被人理解,而要計算機去理解這些標記內的文字的含義,就很困難了。

      舉個例子來說,我們設計一個程序,它可以自動地到各大網上商場去將最新的價目抓回來。但問題是,每個網上商場可能在網頁中寫商品名稱和價格時,都有他們自己的一套寫法,如:甲用價格,而乙用價格,還有更為復雜的表格。那么我們的程序怎樣才知道,哪種標記里面的東西才是要抓的價格信息呢?再比如:在html里,apple只代表了apple這個單詞在web瀏覽器里用粗體來表現,并沒有指出apple代表什么,是蘋果?是蘋果計算機公司?還是其它什么?這造成了html不能揭示文件中信息的含義。

      另外,html的另一個問題就是它的標記的集合是固定的,用戶不能增加自己的有意義的標記。而且各大瀏覽器的規格不盡相同,要使我們用html做的網頁能夠被所有瀏覽器正常顯示,我們只能夠使用w3c給我們定義好了的標記來創建網頁。

      在當今的網絡世界里,隨著電子商務的蓬勃發展和基于web的應用日益廣泛,大量的信息需要被快速地處理。實際上,在internet上的大部分信息,在最初都是被存放在結構良好的數據庫里面,信息按照它的意義被存放在相應的字段里,比如:員工檔案,名稱、性別、部門等。對于“張三”這個數據,計算機能夠根據它所存放的位置,知道它代表一個員工的姓名。但是,一旦這些數據被調出來,經過cgi、asp、jsp、php等轉換成html后,原本有意義的數據就變成了一些無特定含義的html標記的組合。用戶必須通過自己的“頭腦”才能解析這些數據,進而“手動”將它們進行記錄、處理,顯然處理信息的速度會很慢。如果我們能夠將最初保存在數據庫中的原始結構的數據在計算機之間傳遞,那么肯定會加快信息處理的速度。顯然利用html辦不到,并且,由于計算機體系、操作系統以及所使用的數據庫不同,不同的計算機之間要想互相理解對方的數據庫格式是相當困難且非常麻煩的,為了使各種不同的計算機之間能夠互相交換信息,似乎html又必不可少。怎樣來解決這個難題呢?

      迎接xml

      使用xml可以解決上述的難題。w3c對xml作了如下描述:“xml描述了一類被稱為xml文檔的數據對象,并部分描述了處理它們的計算機程序的行為。xml是sgml的一個應用實例或一種受限形式。從結構上說,xml文檔遵從sgml文檔標準。”同html一樣,xml也是一種基于文本的標記語言,都是從sgml(standard generalize markup language,標準通用標記語言,是一種老的標記語言,最初用于出版行業,非常復雜,依據sgml開發的應用非常昂貴,只在少數大公司和政府部門有應用)發展而來的,xml保留了sgml 80%的功能,降低了20%的復雜程度,這樣使得開發有關xml的應用變得很便宜,使xml能夠進入“尋常百姓家”。

      提示:html只適合于人與計算機的交流,不適合計算機與計算機的交流。

      xml與html的不同在于:xml可以讓我們根據我們要表現的文檔,自由地定義標記來表現具有實際意義的文檔內容,比如:我們可以定義〈文檔名稱〉〈/文檔名稱〉這樣具有實際意義的標記(可以用中文)。在xml中,我們只需要注意文檔的內容,而文檔的表現形式則交給css(層疊樣式表)和xsl(可擴展樣式語言)來完成,如果xml文件只用于計算機與計算機之間交流信息,僅僅需要一個xml文件即可,如果要將xml文件中的信息以某種形式顯示出來,如通過瀏覽器顯示,則可引用一個樣式表文件來定義瀏覽器怎樣來顯示xml文件中信息。而且xml不像html那樣具有固定的標記集合,它實際上是一種定義語言的語言,也就是說使用xml的用戶可以定義無窮的標記來描述文檔中的任何數據元素,突破了html固定標記集合的約束,將文檔的內容組織成豐富復雜的完整的信息體系。xml主要有三個要素:schema(模式)、xsl(extensible stylesheet language可擴展樣式語言)和xll(extensible link language可擴展鏈接語言)。schema規定了xml文檔的邏輯結構,定義了xml文檔中的元素、元素的屬性以及元素和元素的屬性之間的關系,它能夠幫助xml的解析器校驗xml文檔標記是否合法;xsl是用來規定xml文檔表現形式的語言,同css類似;xll則進一步地擴展了當前web上已有的簡單鏈接。

      xml是一種定義語言的語言,現在已經有幾個以xml規范為主所創建的標記語言,如:chemical markup language(cml:定義怎樣描述化學分子式的結構,將它顯示在網頁上)、mathematical markup language(mathml:將復雜的數學公式以網頁的形式顯示在瀏覽器中)、synchronized multimedia integration language(smil:如何將多媒體信息展現在www中)。

      xml文件的解析器(一種檢查xml文件是否有結構上的錯誤,將xml文件中的標記剝離,讀出正確信息的工具)大多數是使用java語言寫成的,這樣,只要計算機支持java虛擬機,都可以支持xml(幾乎所有的計算機都支持java虛擬機)。所以,即使是異構系統,也不用擔心讀不懂對方的資料,大家都用xml文件作為傳送資料的介質即可,因為只要對方計算機上有合適的xml解析器,就可以正確地讀取信息。現在,幾大數據庫廠商的數據庫產品,如:oracle 8i、informix、ibm db2等都開始支持xml,輸入數據庫的數據可以輕易地轉化為xml,甚至可以直接以xml的形式輸入數據。有預言稱:將來的電子文檔必將是xml的天下。

      提示:xml保留了sgml 80%的功能,降低了20%的復雜程度,這樣使得開發有關xml的應用變得很便宜,使xml能夠進入“尋常百姓家”。

      學習xml并不困難,因為xml的規范很簡潔,整個標準打印出來也只有幾十頁,而且xml的寫法和html類似,都是把標記用〈 〉符號括起來。更加方便的是,我們能夠使用中文創建xml標記,比如,我們能夠創建〈價格〉...〈/價格〉這樣的標記,在此標記內的內容,它的含義就是某件東西的價格。想象一下,如果各大網上商場都用這樣的xml標記來說明他們網頁中文字的含義,那么我們就可以一個自動化的軟件去抓取我們感興趣的東西,比如:我們想了解以下有關xml書籍的信息,這個軟件就自動去抓取各個網頁中〈xml書籍〉...〈/xml書籍〉標記內的字段,這該是多么方便。

      xml具有卓越的性能,它具有四大特點:優良的數據存儲格式、可擴展性、高度結構化以及方便的網絡傳輸。因為xml能針對特定用戶的應用定義自己的標記,這就使xml能夠在多種行業的信息交換中一顯身手,根據不同行業來提供具有各自特色的解決方案。

      分享:解讀將改變我們生活的這些XML應用
      將改變我們生活的XML有關的這些應用,你知道多少? 1. XHTML XHTM [W3C 推薦標準]基本上是對 HTML 4 的改寫,使其成為結構良好的 XML。HTML 是一種 SGML 應用,當 XML 作為對 SGML 在 Web 應用上的簡化和規范化開發出來的時候,HTML(本身是 Web 上的通

      來源:模板無憂//所屬分類:Xml教程/更新時間:2012-06-06
      相關Xml教程