新世紀的網路語言- XML
|
資訊部 工程師 |
許博堯 |
摘 要
可延伸標記語言XML(eXtensible Markup Language)是目前最熱門的網際網路技術,它是由W3C(World Wide Web Consortium)所推薦的標準。因其為網際網路量身訂製的特性、邏輯結構的嚴謹性及具驗證功能,儼然成為資訊交換格式的主流。本文針對XML之發展歷史、特性與優點、相關技術及各種應用作一簡介,並對營建領域之應用方向作一探討。
一、簡介
l XML發展歷史
提到XML,就不得不談談HTML以及SGML(Standard Generalized Markup Language)。HTML問世以來,大幅地促進了Internet與全球資訊網WWW(World Wide Web)的發展。其設計目的在於將文件內容透過Internet,以browser(瀏覽器)呈現在使用者面前,是人機介面下的優秀格式,但在機器間的流通傳遞卻有著嚴重的問題。為此,制訂HTML的全球資訊網協會W3C開始著手研發下一代的網路技術XML。XML的前身SGML推出於1986年,是一種用來描述電子文件結構與內容的標記語言,具有嚴謹的結構與標準,非常適合作為電子文件的流通與交換。但是SGML過於繁瑣與複雜,W3C便將其簡化而成為XML。W3C在1998年二月正式推薦XML 1.0,2000年10月則再修訂為目前的XML 1.0第二版。
l XML、SGML與HTML
XML雖是為彌補HTML的缺點而產生,但它卻不是以取代HTML為目的。XML與HTML皆是由SGML所衍生而出,屬於SGML的一個子集合(subset),因此文件都是以一個個標籤(tag)組合而成。不同的是,HTML的標籤皆以顯示(layout)為目的,比如<font>、<table>、<tr>、<td>等等。而XML的標籤卻是由使用者自行定義,使得文件具有自我描述的能力。XML的顯示(layout)必須透過其他技術來實現,這使得網頁的內容與顯示得以完全分離,大幅提昇重複使用性。
SGML、HTML與XML並不會因為任一個的存在,而使另一者消失。XML主要用於長期使用且需結構化的文件;HTML則將繼續應用於快速出版的簡單網頁。至於SGML,雖然無法廣泛地被Internet接受,但是將繼續適用於複雜結構的應用。XML、SGML與HTML的關係如圖一所示:
l XML的特性
(1)XML的規格是簡單的,其設計原則是希望與其相關軟體能具高度的相容性,且降低相關應用程式撰寫的困難度。
(2)XML是一個開放性標準,不隸屬於任何一個公司或團體。任何研究單位與公司都可取得XML的規格,並以此為標準進行開發。
(3)XML的使用具有彈性。使用者可以制訂屬於自己的標記與文件架構,且可以提供其他使用者採用。
(4)XML的文件是有效率的。對於同一份內容,使用者只需要建置一次便可以使用多次,且經由傳輸可與其他對文件有需求的單位共享資料。
(5)XML是國際性傳遞資料的特性。文件結構中內建了對全世界的文字支援,經由使用語言及編碼方式的設定,文件可以有正確的展現方式。
(6)XML文件具可控制管理的特性。XML可透過類似資料庫的操作技巧來使用該份文件,可作為簡易的網路資料庫使用。
l XML的優越性
(1)跨平台
(2)結構簡單
(3)原生的網際網路語言
(4)實現機器自動讀取網頁
(5)更精確的搜尋
(6)具有識別資料提供者與驗證之功能
(7)可降低重複資料的傳輸,強化網路資源的使用效率
二、XML技術概觀
l XML文件格式
XML文件結構可分為宣告(Document Type Definition, DTD)和實體(Document Instance)兩部分。前者定義文件架構、格式與資料型別,後者則為文件內容。文件內容描述格式的最小單位為元素(Element),元素由起始標籤(Start-Tags)、結束標籤(End-Tags)和標籤內容所組成,另外可對單一標籤設定屬性(Attribue),如:
<日期 記年方法 = ”西元”>
2001/10/05
</日期>
其中「日期」即為此元素名稱,<日期>為起始標籤、</日期>為結束標籤、「2001/10/05」為標籤內容,「記年方法」則是「日期」元素的「屬性」。當一份XML文件中的所有元素格式皆完整,且滿足XML規範中的相關法則時,此份XML文件可稱為「Well Formed」。
l DTD (Document Type Definition)
在DTD中可以制定文件的結構性,而XML允許使用者自訂DTD。建立DTD可加強XML文件在結構上的要求,但使用者可以自由選擇要不要使用DTD,一份文件可以參照零或一個以上的DTD。由於DTD是在SGML時代所制訂,因此仍有許多地方待補強,主要缺點有二:
(1) DTD本身並非XML文件。
(2) DTD描述資料型別的能力薄弱。
l Schema
Schema與DTD類似,也是定義文件結構的方法。由於DTD擁有上述的缺點,因此W3C參酌業界相關的Schema提案,如DCD (Document Content Description)、RDF (Resource Description Framework)、SOX(Schema for Object-oriented XML)以及XML Data,訂定了Schema標準。Schema本身即是標準的XML文件,可以使用XML的相關操作方法進行處理,且對描述資料型別的能力大幅提升,改善了DTD功能的不足。XML Schema已在2001年5月獲得W3C的推薦,成為正式標準。
l VALID
當一份XML文件滿足下列所有條件,就可稱為VALID
(1)該份XML文件是well-formed。
(2)該份XML文件有使用DTD或Schema。
(3)DTD中的語法是正確的。
(4)該份XML文件符合所使用的DTD中定義的規範。
l CSS (Cascading Style Sheet)
CSS在以往是用來支援HTML,用來控制HTML文件中的字體與排版效果。利用CSS可將HTML中的文字內容與顯示格式進行分離,達到版面再利用的目的。而CSS2則進一步地支援XML,使缺乏顯示(layout)能力的XML得以進行版面設定。
l XSL (Extensible Style Language)
XSL與CSS一樣,兩者擁有相同基本的目標,但XSL是專門為高度結構化、資料豐富的XML所設計的語言,且XSL本身也是標準的XML文件。利用XSL之技術,可以將XML文件中的資料轉換成HTML或是其他的格式,因此可以簡單的利用不同的XSL來呈現相同的一份XML文件。當必須更改不同的呈現方式,不須重新更改XML文件,只須配合不同的XSL文件。經由資料與資料之呈現方式分離之技術,XML文件可以達到重複利用的目的 (如圖二)。
l DOM (Document Object Model)
DOM是一個跨平台的應用程式介面 (Application Programming Interface,API),用以描述文件的重要架構,所以網站架構者可以利用DOM,以標準的方式存取及操作XML資料。
三、XML的應用
由於XML具有跨平台、結構嚴謹而簡單、開放等優點,因此各領域紛紛以XML作為其垂直或水平傳遞文件之標準。XML應用領域相當廣泛,舉凡電子商務、電子資料倉儲、數據資料交換、前後文檢索、多媒體傳輸、化學科技領域,甚至營建工程領域等不同領域的特殊文件格式,皆可用XML加以定義,來達到網路上文件統一的目的。以下列舉部分XML應用:
l B2B EC( Business To Business e-Commerce )應用
B2B EC是XML出現後最熱門的應用課題。目前主要的兩個解決方案如下:
n BizTalk
由Microsoft所主導。BizTalk共分三部分,BizTalk Framework提供一主體架構,讓各系統廠商根據不同產業特性及需求,訂定其交易標準(DTD或Schema);BizTalk.org網站負責收集及保存各產業之水平及垂直標準;最後,Microsoft推出BizTalk Server 2000來提供企業導入BizTalk架構的B2B EC交易。營建業所使用之aecXML標準即是建構在BizTalk Framework之下,這部分將在下一章詳細說明。
n WIDL (Web Interface Definition Language)
由WebMethods公司所主導之B2B EC標準,目前SAP及Sterling Commerce皆在其上建置電子商務系統。WIDL亦可建立在BizTalk的架構下。
l SOAP (Simple Object Access Protocal)
SOAP是目前Microsoft最新的.Net平台所使用的核心技術。透過SOAP技術,可以經由Internet通訊協定(HTTP、FTP)在分散式的系統中呼叫遠端的物件。這使得傳統上只能等待使用者下載資訊的網站,轉變為提供「Web Service」的「Web Component」。
l WML (Wireless Markup Language)
行動電話WAP通訊協定所使用之文件標準。透過WAP協定,可使用行動電話接收各種WML格式之文件,進行文字與圖形的展示。
l SMIL (Synchronized Multimedia Integration Language)
多媒體內容整合領域使用。如RealPlayer G2即利用SMIL融合視訊、聲音與動態文字獨立於瀏覽器播放,呈現整合型的多媒體視聽環境。
l CML (Chemical Markup Language)
化學領域使用,用以標示化學分子。
l BSML (Bioinfomatic Sequence Markup Language)
描述生物與醫學領域的相關資料。
l MathML (Mathematical Markup Language)
描述數學領與的特殊公式、符號。
l SVG (Scalable Vector Graphics)
將向量圖檔的描述,以XML的方式轉成文字檔,再與HTML整合,以表現形狀、影像、文字等,功能類似於現今熱門的Flash技術。但SVG是由純文字的XML所組成,利於搜尋與資料庫存取。且SVG開放的架構,不受單一公司的操控。預期不久的將來,SVG將會取代Flash而成為新的網路向量動畫標準。
l RDF (Resource Description Framework)
RDF是在資料中加入索引與目錄資料的語言,可於檢索資料時透過相對應標籤搜尋內文,以提升檢索效率。RDF可應用於電子型錄內容描述、
l XML/EDI (Electric Data Interchange)
傳統EDI係利用封閉性網路連接(如金融業),成本高昂且標準不一。以XML技術導入EDI,透過網際網路,可使其由傳統鍊狀式的資料交換,跳脫為網狀式的資料散布。如此導入的企業不再需要針對特定的上下游廠商投資固定的硬體線路費用,同時也可利用網際網路既有的加密技術如SSL、SET,達到安全性的要求。
四、aecXML介紹
l aecXML簡介
aecXML是一個以XML技術為基礎,提供營建、建築工程產業(AEC,Architecture-Engineering-
Construction)電子資料交換之架構。aecXML是由賓特利公司(Bently
Systems, Incorprated)在1999年首先提出,並訂定其基本架構。目前aecXML的制訂已移轉至IAI
(International Alliance for Interoperability)進行運作,共有七個工作小組,以及600多位業界人士參與制訂計畫。aecXML的基本目的有下列四點:
利用電子資料交換以改變傳統紙張資料交換。
(1)將紙張所儲存之資料轉換成電子型態儲存。
(2)提供文件之線上查詢及更有意義及效率之查詢方式。
(3)提供管理人員更多的資訊,以更有效率的管理工程。
l aecXML整合之介面
營建產業的介面相當多且複雜,所以aecXML在設計之初,就己經考慮以下列三個方向來解決了介面整合的問題:
(1)文件傳遞(document file transfer)格式之整合:
在傳統以檔案為主(file-based)之作業的流程中,不同的文件格式,往往造成資料之重置(data - reentry),同時也降低文件交換之速度,或是資料重置時所造成之錯誤,所以在文件傳遞之格式,aecXML訂定了統一之格式。
(2)軟體介面(Application Programming Interface)之整合:
軟體介面在交換資訊時,常將資訊轉換成其他互通格式,以方便資料轉換,如此常常造成軟體和資料轉換格式高度相依(tight coupling),即使是同一個軟體也會因為版本之不同,而使得資料無法互通,所以aecXML在規定統一的軟體資料交換介面,以增加軟體的互通性。
(3)資料庫介面之整合:
若是資料已經電子化儲存,也常常因為軟體製作時,會預設一特定之資料庫,而造成軟體升級時,或是軟體增加新功能時,必須沿用以往之資料庫,否則難以相容,所以在資料庫之介面也必須整合。
l aecXML之schema分析
營建產業之工程資訊相當的複雜,而aecXML正是用於營建產業之資料交換標準,因此aecXML文件結構之複雜可想而知。以下為aecXML之簡單分析。
n <aecXML/>
<aecXML/>是一份aecXML文件之根元素,用來包裝整個aecXML文件。<aceXML/>元素下所包含的最重要兩個元素為<communication/>及<project/>。
n <communication/>元素其下包含子元素<To/>及<From/>,用以儲存該份aecXML文件傳遞的來源及目標
n <project/>元素就是用來儲存工程資訊最重要的部分,其下包含相當多的子元素。在此不一一詳述,僅將將一些較重要的子元素列出如下:
u <name/>元素:工程名稱。
u <owner/>:業主之資訊。
u <participant/>:參與廠商之資料。
u <BuildingComponent/>:工程所需之材料,如混凝土等,同時有相當多的子元素,來描述材料之性質,如<density/><color/>等等,其中又可以分為四大項,<DesignationData/>、<DesignData/>、<EstimationData/>、<ScheduleData/>,分別是用來存放材料性質(如密度)、設計資訊(如強度)、估價資訊(如材料數量)及排程資訊(如工項)。
圖三為aecXML文件結構之簡易樹狀圖。
有關aecXML之詳細介紹,請參考 www.aecxml.org 及 www.bizTalk.org 網站。
五、營建業之XML應用研究
由於XML已正式成為新一代網路及文件標準,因此國內各學術機構均有營建領域相關之XML應用研究,其中以台大、交大土木所及NII(經濟部國家資訊基本建設產業發展協進會)之研究為主。而在應用實例方面,目前國內營建相關產業牽涉到XML技術推廣與應用之案例,多為經濟部主導之計畫,以著眼於營建產業自動化或電子化之發展為前提。與XML技術雖無直接關聯,但可間接將XML技術導入營建產業。主要應用可分為以下三大方向:
l 營建資訊電子化、標準化及資訊共享
營建設施完工後所留下的資訊種類繁雜、數量龐大,各項設備的相關訊息往往分散於不同種類資訊間,使得蒐集資訊有其困難。加上以紙本作為資訊傳播媒介且格式不一的情況,使得資訊在更新維護與再利用上有其不便之處,造成資訊版本不一,資訊重複建置等情況。利用XML建立標準化的電子化資訊,輔以共享資料庫及網際網路傳遞,將可解決資訊更新不易、版本衝突的情況,提升營運與維護作業之效率。
l 電子招標、投標、備標系統
營造廠傳統上於分包採購作業過程中,時常因為資訊封閉而造成諸多弊端。導入電子招標系統將可有效改進傳統發包時間過短、不確定性高、 不易擇優、範圍限制等缺失。利用XML建立文件溝通、傳遞標準,作為營建工程分包招標資訊之產生與管理依據,正是電子招標系統中重要的核心技術。
l 營建電子型錄
導入電子市集之觀念,以XML技術建立電子型錄系統,解決營建業採購作業中繁瑣的產品資料查詢與詢議價機制之效率無法提升的問題。目前國內由中鋼集團及遠東集團所合資之網際優勢( http://www.uxb2b.com )正在進行相關市集的建立,其中「鋼鐵優勢」網站( http://steel.uxb2b.com/ )已上線運作。
六、結論及建議
XML是最新的網際網路資料標準,它將文件中的「內容」及「表現」部分分開儲存,使得文件具有自我描述的能力,而讓程式能夠自動讀取網頁,並廣泛地運用於B2B電子商務中的各種資訊交換。XML的出現將網際網路的發展帶入另一個新紀元,它將全球資訊網由資訊分享的網路轉變成全球知識庫及整體計算平台。所以專家稱XML為網路的第二波革命,它是企業提升E-learning或E-commerce服務品質的核心新技術,也是本工程司e 化過程中必走的方向。以下提出本工程司對XML技術之應用方向:
l 文件管理
XML最強大的功能即在於處理公司文件中的資訊。由於XML文件具有自我描述的能力,使得搜尋引擎能瞭解文件內容的含意,而獲得更精準的搜尋結果。且XML具有「雙向連結」的功能,使得各文件間的關連性更加緊密。
l 網站內容管理
XML相對於HTML的優點,就是可以將網頁的樣式和網頁的內容分開處理,因此撰寫內容人員與美術設計人員工作可完全獨立而不互相影響。而由於版面與內容分開,使得兩者之再用性也大幅增加。
l 電子商務
XML跨平台、跨語系與適用於Internet的特性,使得XML已被廣泛地用於電子商務(尤其是B2B)的資料交換。其中營建業之aecXML目前尚處於制訂階段,本工程司宜緊密掌握其發展狀況,做好導入之準備。
l 其他XML-based之網路技術
以XML為基礎的Microsoft.Net、SOAP、WML、SVG、SMIL等網路技術已逐漸成為資訊業界之標準技術,本工程司在程式開發服務方面應隨時掌握業界最新動向,提升對業主服務之品質。
參考文獻
(1) Brian E. Travis, “XML and SOAP Programming for BizTalk Servers”, Microsoft。
(2) 陳長念、陳勤意,”XML & ASP 網頁程式設計”,知城,2000年12月。
(3) 胡正亨,”以XML為基礎之工程招標系統”,台大土木所,2000年6月。
(4) 曹文光,”營建電子型錄與詢價系統研究”,台大土木所,2000年6月。
(5) 周世雄等,”XML知識管理速成班”,喬篷科技。
< < < < < < < < < < < < < < < < < < < < < < 回目錄< < < < < < < < < < < < < < < < < < < < <