精華區beta b885060xx 關於我們 聯絡資訊
XML 介紹 什麼是 XML XML的原文是Extensible Markup Language,也許各位曾經聽過,也許沒有。但這 不重要,重要的是當你讀完這篇文章你就知道什麼是XML。 談到XML就要從SGML( 標準通用標示語言Standard Generalized Markup Language)講起。SGML 允許你 指定文件的結構。SGML 使用"文件形態定義" (Document Type Definition, DTD)來指定文件的結構。SGML 可以轉換成為多種的輸出格式,包括了純文字 ,HTML,LaTeX, PostScript 等格式。最重要的,它為所有的文件提供了一致的 外觀,便於管理與維護。SGML文件本身包 含三個部份:SGML宣告( SGML Declaration )、文件形態定義( Document Type Definition , DTD )和標示 文件成品( Document Instance )。其中,SGML 宣告是用來告訴SGML剖析器( SGML Parser )在剖析該份文件時,所使用的字元集和文件特性;而文件型式宣 告是用來宣告該份文件文件結構與文法參數;至於標示文件成品,就是加上標示 處理後的文件。SGML的發展在現今的社會中已經廣泛被應用,其中包含美國政府 以及民間各各團體,其最大的理由是SGML的多平台性。一但文件是以SGML格式儲 存,任何人都看的懂,且不會因為軟體的不同而出現亂碼。﹝最明顯的例子是 將OFFICE 97 的文件拿到OFFICE 95之中閱讀.....你會看不懂!﹞當然現今的情 況並不是如此完美,這就有待你我來推動了哦! 再回到XML的探討,XML是以SGML的格式精簡後制定出來的,制定者當然是全球資 訊網協會(World Wide Web Consortium,W3C)。XML是SGML的一個子集合,誕生的 目的是為了擴充網路的應用、靡補HTML的不完美,以及讓SGML也能容易地在網路 上應用。所以XML肩負著使得全球資訊網能夠傳輸或處理更豐富資訊的責任。在一 般情況之中,HTML或是JAVA就已經相當夠用了,但隨著資訊的擴充,資料量的暴 增,與資料的複雜化,HTML就顯得捉襟肘見,而JAVA又顯得大才小用且不易學習 。有了XML與HTML的相輔相成,這些問題就解決了。所以XML並不是用來終結HTML ,取代SGML,而或是廢除舊的標準。XML是用來制定新的標準、用來定義一種新的 標記語言。其自訂的範圍包括標籤及屬性名稱,XML文件可以選擇性的包含文法描 述資料,以便XML應用程式可以檢查其完整性。使用者可以藉由XML定義專屬的文 件型態,程式設計師也能撰寫出便於處理文件的應用程式,所以XML要發揮作用, 除了瀏覽器的支援之外,還需要客戶端(Client Side)的程式搭配處理。說來說 去,XML還是要各家瀏覽器或是其他程式的支援才能使用嘛!沒錯,看到這裡或許 你已經有一些意興闌珊,或許你想“等到相關的程式發展出來後再告訴我吧!” 但何不看一看XML的相關應用呢? 其實XML已經在你我的世界中誕生了。現有的XML工具有XML編輯器以及相關的軟體 開發工具。而XML的技術也有在現今的電腦領域之中應用,例如:微軟瀏覽器的推 播(Push)技術,採用的廣播頻道定義(CDF)語法,就是採用XML的標準自訂標籤格 式,網景公司的瀏覽器中的MetaContentFramework(MCF),也是應用XML的格式。 其餘的例如化學方程式或是數學公式,以至於個個不同領域的特殊文件格式,皆 可用XML加以定義,來達到網路上文件統一的目的。再舉一些可行的例子好了, 在HTML之中要如何表現金字塔形的階層或是例如建築公司的建築物平面圖,企業 的組織圖呢?現今或許大部分的人還是會運用GIF圖形的方式表現出來。但是如果 在企業內部資料的流通之中,GIF就不可行了吧!假設一間公司在全球各大城市擁 有小型辦公室,而總公司又要發布最新人事組織資料給各辦公室的話,要如何才 能以最節省的方式將資料傳達到每一個人手中。公司的網路吧!但如果是以GIF的 圖形格式將人事組織圖放上網路的話,不但浪費空間對於接收的分公司要如何將 資料列印出來也是一個大問題。如果以XML將資料重新定義再與HTML結合相信不但 空間節省了,資料的正確傳遞也做到了。再提一個例子。訪間最近出現了會計軟 體的網路化,意思就是將個個在不同地方的分公司的每日每月會計總帳透過網路 傳回總公司登錄。一般的做法是登錄所有的欄位到網頁中,伺服器再將資料寫入 資料庫中,完成登錄的手續。這種做法難免會有浪費時間的,加重伺服器工作量 缺點。因為某一些欄位其實再個人中電腦可以自行運算,但到了網路卻必須自行 輸入。如果透過XML將欄位以及相關運算定義並與HTML結合不但電腦運算的結果可 以作為再一次檢查是否有錯誤的好幫手,伺服器的工作量也可減輕﹝別忘了 ,XML是在CLEINT端執行的﹞,花費在登錄上的時間與人力也不會這麼重。 XML的介紹基本上就到這裡為止了。有任何最新消息我也會在和各位分享。