HTML与XML之比较.docx

上传人:b****8 文档编号:9296058 上传时间:2023-02-04 格式:DOCX 页数:17 大小:37.75KB
下载 相关 举报
HTML与XML之比较.docx_第1页
第1页 / 共17页
HTML与XML之比较.docx_第2页
第2页 / 共17页
HTML与XML之比较.docx_第3页
第3页 / 共17页
HTML与XML之比较.docx_第4页
第4页 / 共17页
HTML与XML之比较.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

HTML与XML之比较.docx

《HTML与XML之比较.docx》由会员分享,可在线阅读,更多相关《HTML与XML之比较.docx(17页珍藏版)》请在冰豆网上搜索。

HTML与XML之比较.docx

HTML与XML之比较

SGML、HTML與XML之比較

ComparisonofSGML,HTMLandXML

陳嵩榮 Sung-JungChen

輔仁大學圖書資訊學系碩士班學生

Graduatestudent,Dept.ofLibrary&InformationScience,

Fu-JenCatholicUniversity

E-mail:

ms486131@green.lins.fju.edu.tw

〔摘 要〕

本文將依發展的時間順序介紹三種值得電子圖書館領域注意的電子文件格式:

標準通用標示語言(StandardGeneralizedMarkupLanguage;簡稱SGML)、超文件標示語言(HypertextMarkupLanguage;簡稱HTML)與最新崛起的可擴展標示語言(ExtensibleMarkupLanguage,簡稱XML),並作簡單的比較。

〔Abstract〕

Thisarticleistointroducethreeformatsofelectronicdocumentinorderofdevelopmentwhichareworthwatchingcloselybydigitallibrarycommunity.TheyareSGML(StandardGeneralizedMarkupLanguage),HTML(HypertextMarkupLanguage)andXML(ExtensibleMarkupLanguage),whichisthenewmarkupwave.Thenhaveasimplecomparisonofthem.

關鍵詞:

標準通用標示語言;超文件標示語言;可擴展標示語言;標示

Keywords:

SGML(StandardGeneralizedMarkupLanguage);HTML(HypertextMarkupLanguage);XML(ExtensibleMarkupLanguage);Markup

壹、前言

電腦是處理資訊的工具,硬體是處理資訊的實體資源,軟體則是為了處理特定資訊設計出來的流程。

電腦之所以能對我們的生活帶來很大的效益,是因為電腦具有處理資訊的強大能力,硬體與軟體的不斷進步代表著電腦處理資訊的能力愈來愈強,但電腦要能夠發揮效益,除了要有硬體和軟體之外,還要輸入資料,資料經過電腦的處理,輸出有價值的資訊,這才是我們使用電腦的主要目的。

平常電腦硬體與軟體的進步總會引起較大的注意,例如:

Intel發表新一代的微處理器、Microsoft發表新的作業系統或應用軟體總是資訊界的盛事,但一般人較少注意到資料格式(dataformat)的發展事實上對資訊的處理、管理與利用所帶來的影響並不遜於軟硬體的革新,尤其對電子圖書館等保存大量公共資訊的組織而言,所採用的資料格式必須確保所有的文件資訊能妥善地長期保存,並能以最有效率的方式被存取與傳佈,因為這些資訊是社會重要的資產,而且通常是對社會較有價值的資訊(註1)。

本文將依發展的時間順序介紹三種值得電子圖書館領域注意的電子文件格式:

標準通用標示語言(StandardGeneralizedMarkupLanguage;簡稱SGML)、超文件標示語言(HypertextMarkupLanguage;簡稱HTML)與最新崛起的可擴展標示語言(ExtensibleMarkupLanguage,簡稱XML),並作簡單的比較。

SGML是ISO在1986年所頒布的國際標準(ISO8879),在電子圖書館相關計劃中,目前有TEI(TextEncodingInitiative)、EAD(EncodedArchivalDescription)、CIMI(ConsortiumfortheInterchangeofMuseumInformation)、DIAP(DigitalImageAccessProject)與美國國會圖書館的AmericanMemoryProject等採用SGML作為文件格式(註2,3,4);HTML是SGML的一個應用,是一種用以創造超文件(hypertext)的簡易資料格式,目前在全球資訊網(WorldWideWeb;簡稱WWW或Web)獲得普遍的採用,是寫作網頁(webpages)的標準語言;XML是全球資訊網聯盟(WorldWideWebConsortium;簡稱W3C)在1996年底所提出的標準,1998年2月公佈XML1.0Recommendation,相關標準目前仍在發展之中。

這個新一代的標示語言被期許能具有SGML的彈性,但又不像SGML般複雜,並能如HTML般能在Web上傳送。

貳、何謂標示(markup)?

SGML、HTML、XML都是標示語言(MarkupLanguage)。

最早,標示是文件在排版時,用來指示文字如何編排的指令,包括控制字體的大小、字型的選擇(如楷體、細明體等)、字形的處理(如粗體、斜體、加底線等)、頁面的大小(如A4、B5等)、天地左右的留白寬度、標題、段落、註腳、表格…等,這些標示並不處理文件的內容,主要用來處理文件實際的呈現外觀,這類的標示稱為程序性標示(ProceduralMarkup)(註5)。

大部分的電子出版或文書處理軟體都使用專屬性的程序性標示,也就是說這些系統都使用專屬的控制碼來執行文件的處理,如字體的加粗、放大…等,這些專屬的控制碼大都只能在特定平台的特定的系統或相關軟體中執行,如果所使用的硬體或系統軟體換了,這些標示過的文件往往必須進行重新標示的工作,這種資料轉換所花費的代價通常相當的大;同樣的,使用程序性標示的文件在交換時,文件交換的雙方通常必須使用相同的系統。

一般而言,程序性標示的作用都只針對單一文件,例如控制某一份文件以特定的格式輸出,如果同一份文件內容希望以不同的呈現外觀再利用,必須移除先前的標示,加入符合新的呈現外觀的標示;或者將同樣的文件內容複製一份,為新的呈現外觀進行標示。

另一類的標示稱為描述性標示(DescriptiveMarkup),也稱為通用標示(GenericMarkup或GeneralizedMarkup),所描述的是文件的內容(content)或結構(structure),而不是文件的呈現外觀。

描述文件結構的方式是以標示指定結構中的元素(elements),以文章為例,其結構可能有標題、章、節、參考書目…等;以書信為例,結構可能有寄件人、收件人、書信內容…等。

通用標示的基本概念是文件的內容必須和文件的呈現資訊(即所謂的樣式)分開(註6),由於內容、結構與呈現資訊分開,所以同一份文件內容可以有多種呈現方式,例如同一個檔案可能以紙本、線上、CD-ROM與Web版本發行。

以圖一(註7)為例,Content是文件的本文資訊,Structure是標示的結構,這兩部份是通用標示所要描述的,Presentation是文件的呈現外觀,在Content、Structure與Presentation之間的Formatter主要是用來設定文件的輸出格式,樣式表(StyleSheet)的角色就是屬於這個部分。

由於內容、結構與呈現資訊分開,如果同一份文件內容希望以不同的呈現外觀再利用,只須修改樣式表或產生一份新的樣式表即可,文件內容與結構的標示完全不須更動,因此通用標示在文件的再利用方面要比程序性標示有彈性的多。

XML、SGML都是典型的通用標示語言,HTML就比較特殊了,HTML的標籤集(tagset)中大部分是用來設定文件在Web上的呈現外觀,少部分描述文件的結構(如:

,,<body>)。</p><p>由於HTML是SGML的一種應用,所以HTML並非程序性標示語言,而是以描述性標示的方式來控制文件的呈現外觀;HTML的樣式是內建的,並不像XML、SGML有分離的樣式,所以HTML標示的作用與程序性標示類似是針對單一文件,並不像XML、SGML有較高的再利用彈性。</p><p>圖一</p><p>參、SGML</p><p>SGML是ISO在1986年所訂定的標準,編號是ISO8879。</p><p>SGML是一種元語言(meta-language),元語言是一套可以用來定義其他更專門性的標示語言的通用規則,HTML就是由SGML所定義出來,專門使用在WWW上的標示語言(註8)。</p><p>SGML主要應用在文字資料的交換,但也適用於其他的資料型態,SGML是很好的資料儲存格式,適用於任何複雜的文件結構,但缺點是在網路傳輸(networkdelivery)方面較為不便。</p><p>由於介紹SGML的中文文獻已有一些(書目請參考註9,10,11,12,13),本文不再對SGML作全面性的介紹,只介紹SGML的優點與限制。</p><p>一、SGML的優點(註14):</p><p>1.有彈性(flexibility):</p><p>SGML能描述任何的資訊結構與任何複雜的文件,其應用可以簡單如HTML,也可複雜如TEI、EAD、CIMI;SGML是完全可擴展的(extensible),可以針對各種類型的文件結構訂定出合適的標籤集(tagset);SGML是理想的資料儲存格式,提供了相當多的選項功能,可以適用於最複雜的資訊處理。</p><p>2.非專屬性(non-proprietary)、平台獨立(platform-independent)與系統獨立(system-independent):</p><p>SGML並不專屬於特定的平台與特定的應用系統,因此SGML文件可以在彼此不相容的系統間交換,不會造成資訊遺失(informationloss),這個特性使得SGML文件可以長久保存。</p><p>3.資訊再利用性(re-usability):</p><p>透過SGML文件內容模組(contentmodule)的再利用,使得文件的產生更有效率、更經濟,SGML文件的內容可以重複利用,或者被其他的SGML文件使用,不須重新產生內容。</p><p>同一份文件內容也可以透過樣式表(stylesheet)以多種呈現方式出版。</p><p>二、SGML的限制(註15,16,17):</p><p>1.SGML應用程式不易開發:</p><p>SGML龐大且複雜的選項功能雖然使得SGML具有較高的彈性,但也增加了應用程式開發上的難度,即使SGML工具的主要供應廠商ArborText所發表的產品,也沒有百分之百支援SGML標準。</p><p>事實上,SGML有許多選項很少被應用,如果把這些不常用的選項去掉,將使得應用程式的開發變得更容易。</p><p>2.SGML文件不易在Web上傳佈:</p><p>要能夠瀏覽SGML文件,必須要有文件型別定義(DocumentTypeDefinition;簡稱DTD)及樣式表(StyleSheet)。</p><p>DTD定義了文件結構間的關係,樣式表定義了這些結構的呈現格式,如果少了DTD與樣式表就只能看SGML文件的原始碼了。</p><p>由於目前Web上的主流瀏覽器只支援HTML,HTML文件並不需要DTD與分離的樣式表,因此SGML文件在Web上只能透過特定了瀏覽器(如Panorama)才能閱讀,不過這類的瀏覽器並不普及。</p><p>如果希望SGML資訊能在Web上被大多數人瀏覽,只好透過轉換程式將SGML轉成HTML,但這樣的轉換往往會造成資訊遺失(InformationLoss),原本SGML文件中所標示的結構在轉換成HTML文件後並無法繼續存在。</p><p>3.缺法廠商的支援:</p><p>Web上的主流瀏覽器廠商Microsoft與Netscape支持HTML的發展,但並沒有支援SGML的意願;由於SGML過於複雜,也只有少數廠商願意投資開發SGML的相關應用程式,這使得SGML在普及上造成很大的障礙。</p><p>肆、HTML</p><p>HTML是SGML最著名的應用,是一種專為WWW網頁顯示及瀏覽而設計的簡易標示語言,目前是WWW上製作網頁的標準語言格式。</p><p>WWW的開山祖師TimBerners-Lee對HTML所下的定義是:</p><p>「HTML是一種用以創造超文件的簡易資料格式,其所創造出來的文件可在不同的作業平台間移動。</p><p>」由此可知,可攜性(portable)與簡易性(simple)是HTML的兩大特徵。</p><p>(註18)HTML文件除了包含文字資訊外,尚可包括聲音、影像等多媒體資訊,而HTML的超鏈結除了網頁內的鏈結,也包括網頁之間的鏈結。</p><p>以下介紹HTML的特色與限制。</p><p>一、HTML的特色(註19):</p><p>1.HTMLDTD的設計主要是滿足線上顯示的需求。</p><p>許多標籤純粹是用來指定網頁的呈現細節,例如:</p><p>●br是換行(linebreak)。</p><p>●hr是畫一平行線(horizontalrule)。</p><p>●b表示粗體字(bold)。</p><p>●i表示斜體字(italic)。</p><p>2.HTML有內建的樣式(style)。</p><p>HTML希望直接使用SGML標示來控制網頁呈現的樣式,亦即HTML不需要有分離的樣式表,這使得HTML更為簡單易用,但缺點是較沒有彈性,同樣的文件內容只能設定一種呈現樣式。</p><p>3.HTML引用SGML的標示最簡化特徵(markupminimizationfeature)。</p><p>這是為了盡量減少HTML文件標示的數量,使HTML的標示更簡單,最明顯的例子是結束標籤(end-tag)的省略。</p><p>例如在HTML2.0DTD中,p(paragraph)的結束標籤是可以省略的,其元素型別(elementtype)的宣告如下:</p><p><!</p><p>ELEMENTp-O(%text)*></p><p>其中“-”表示起始標籤(start-tag)是必備的,大寫字母”O”表示結束標籤是可省略的(”O”是“omissible”的意思)(註20);倘若結束標籤是必備的,則元素型別宣告應該如下:</p><p><!</p><p>ELEMENTp--(%text)*></p><p>結束標籤的省略雖然使得HTML的標示更為簡單,但也成為描述文件結構時的限制,HTML文件中所有的段落標示<p>在地位上都是平行的,省略了結束標籤就無法描述「段落中又有段落」的結構。</p><p>4.HTML沒有採用SGML的超鏈結(hyperlinking)機制。</p><p>HTML的超鏈結</p><p>是利用標籤<a>(a是anchor的意思)的“href”屬性來指向Web上的任意文件,例如:</p><p><ahref=”http:</p><p>//www.w3c.org/”>是一個外部鏈結(externallink)</p><p><ahref=”#top”>是內部鏈結(internallink)</p><p>而內部鏈結的目標點是利用標籤<a>的“name”屬性來指定,例如:</p><p><aname=”top”></p><p>SGML則是利用ENTITY或ENTITIES屬性型態及ID–IDREF機制來達到超鏈結的效果(註21)。</p><p>二、HTML的限制(註22):</p><p>1.結構上的限制:</p><p>HTML最大的限制就是它的標籤集是固定的,而這些標籤大都屬於呈現導向(presentation-oriented)的標籤,主要用來指定網頁的顯示格式,這個特性使得HTML只能支援固定且簡單的文件結構,而且在資訊再利用、資料交換與自動文件處理方面都造成很大的限制。</p><p>2.資訊再利用的限制:</p><p>許多企業組織都有需要將相同的資訊以不同的形式來出版,例如印刷版本、CD-ROM版本、Web版本等,尤其隨著電子出版時代來臨,數位化資料不管在複製、編輯、傳布上皆較傳統出版來得便利,將同樣的資訊以各種不同的形式出版也變得更可行。</p><p>如果以HTML作為電子出版的資料格式,設定不同的呈現格式,如標題字體的大小、條列(lists)與表格的使用等,就能產生不同的Web版本,如果列印出來就是相對應的印刷版本,但由於HTML文件的資料內容與呈現外觀是結合在一起,如果原始文件的內容有所改變的話,所有不同形式的版本全部都要跟著轉換,這道轉換的程序必須耗費不少的人力與時間。</p><p>如果採用SGML作為電子出版的資料格式,由於資料內容與呈現外觀是分開處理,因此可以避免掉因原始文件內容改變而造成所有的版本都必須轉換的問題。</p><p>3.資料交換的限制:</p><p>由於Web的普及,上網人口不斷增加,使得Web成為許多企業組織交換資料最理想的場所,但由於HTML的標籤集是固定的,且這些標籤大都屬於呈現導向的標籤,利用HTML作為資料交換的格式,很難對每一項所要交換的資料作清楚的描述。</p><p>例如:</p><p>有一家網路書店想要透過Web從出版商那裡取得一些新出版書籍的書目資料,並希望把這些資料自動轉入自己的資料庫中,再動態地把新書資訊呈現在網站上,書目資料包括了作者、書名、出版社、ISBN...等欄位,以HTML標籤來標示這些書目資料,並沒有辦法逐一標示每個欄位,通常是把它包裝成表格的形式,以利於瀏覽,但如此一來卻沒有辦法利用程式將HTML中的書目資料轉入資料庫中,因為程式沒法分辨HTML檔中哪一段資訊是作者、哪一段資訊是書名...,就算出版商以SGML來儲存書目資料,清楚地描述每一個書目資料的欄位,但一旦要透過Web傳送,將SGML轉成HTML後,這些書目資料的欄位結構就無法存在了。</p><p>4.自動文件處理的限制:</p><p>自動文件處理可節省人力操作的成本,降低人工輸入的錯誤,改善整體作業流程的品質,並提高文件傳遞的速度。</p><p>透過Web有許多的文件處理流程事實上可以被自動化,尤其在Intranet或Extranet若能將資料庫中的資料轉出後作自動處理,或文件經過自動處理後直接轉入資料庫,將能大幅提高效率。</p><p>目前在Web上一些表單應用程式就是自動文件處理簡單應用,如有些線上問卷系統或線上投票系統,使用者將填完的問卷資料直接傳入伺服端的資料庫後,可以直接即時讀取資料庫的統計結果。</p><p>由於HTML的標籤集是固定的,而這些標籤大都屬於呈現導向的標籤,因此HTML文件所能做的自動化處理事實上有很大的限制。</p><p>所有文件處理高度自動化的流程,都必須透過統一的資料格式,而且這個資料格式必須能攜帶豐富的內容語義,從這個角度來說HTML並不是一種適合作自動文件處理的資料格式。</p><p>5.無法支援較精確的查詢:</p><p>目前在Web上使用者可以透過搜尋引擎(searchengine)所提供的關鍵詞查詢(keywordsearch)來尋找相關的資訊,但由於目前Web上的資訊不斷增加,使得搜尋引擎的查詢結果往往會找到太多的資訊,而這些資訊又不一定能符合自己的資訊需求,往往使用者花在過濾出所需資訊的時間,會超過真正去看這些資訊的時間。</p><p>搜尋引擎的準確率(precisionrate)不高是因為的所用的查詢模式是對網頁進行全文檢索,雖然也可以將搜尋的目標限制在HTML文件的Title部分來提高準確率,但這樣又會降低查詢的回收率(recallrate)。</p><p>一個較好的辦法是提供可以指定內容(content-specific)的標籤,例如:</p><p><author>莊子</author>與<title>莊子便有所區分,如此一來查詢時便可做較精確的限定,其效果有如欄位化查詢一般,不過HTML並無法讓網頁製作者自行定義可以指定內容語義的標籤,XML將能解決這個問題。

6.HTML的不斷修訂造成了許多網站維護的額外工作:

由於HTML是一個演進中的標準,每當HTML的標籤集不能滿足需求時,W3C就會為HTML加入新的標籤,推出新的HTML版本。

從HTML2.0到HTML3.2,再到HTML4.0,每當新的HTML版本推出,一些必須維護大量HTML文件的單位就得重新回頭檢視這些舊版的HTML文件,看看有沒有需要重新標示文件。

除了W3C會以官方立場身分修訂HTML外,瀏覽器大廠Microsoft以及Netscape也會伴隨著新版的瀏覽器推出自己的HTML延伸標準,而兩家廠商推出的延伸標準又不完全相容,對於許多網站維護人員來說,每當有新版的瀏覽器問世,就代表著可能又要對部分的網頁重新標示。

有些組織為了徹底避免重新標示文件的困擾,乾脆決定採用SGML來標示文件,再把SGML轉換成HTML,因為將SGML轉成HTML只要透過轉換程式批次進行並不需花費大多資源,但若要重新標示成千上萬的HTML網頁就工程浩大了。

伍、XML

XML是W3C在1996年底提出的標準,它是從SGML衍生出來的簡化格式,也是一種元語言(meta-language),可以用來定義任何一種新的標示語言。

XML的制定是為了補足HTML的不完美,使得在Web上能夠傳輸、處理各類複雜的文件,它去除了SGML複雜不常用及不利於在Web傳送的選項功能,讓使用者可以很容易地定義屬於自己的文件型態,程式設計師也能在更短的時間開發XML相關應用程式(註23)。

XML1.0Recommendation已於1998年2月公佈,相關標準目前仍在發展之中,XML的發展獲得了各界的支持,其中包括了SunMicrosystems,Microsoft,Netscape,Adobe,ArborText...等軟體大廠的背書(註24)。

1、XML的發展背景:

XML的發展背景主要是因為HTML的諸多限制已經影響了WWW的發展,HTML的限制在前面已經介紹過了,XML的發展成員大都對SGML及結構化的資訊(structuredinformation)有相當豐富的應用經驗,他們相信引進SGML技術,能夠彌補HTML的不足,對WWW的發展能有以下幾個方面的貢獻(註25):

1.電子資料交換(EDI):

結構化資訊的一個主要應用是資料交換,不同的領域可以針對領域的特性制定共同的資訊內容模型(contentmodel),並以這個共同的內容模型來標示資訊,如此可以促使同領域的資訊可以更容易且更有效率地交換,這個共同的內容模型,我們稱之為DTD。

無疑地,Web是理想的電子資料交換的媒介,但HTML並非理想的資料交換格式,也難以充分地表現各種資訊內容模型與語意結構,而XML所要提供的正是一套可以在Web上承載各種結構化資訊的框架。

2.與Java技術更緊密結合:

Java技術的出現使得瀏覽器能成為通用的應用系統平台,但HTML固定的標籤集及不擅長描述語義的特性,使得Java程式沒有太大的發揮空間,而XML正好可以給予Java程式大顯身手的環境,以XML作為各種結構化資訊的標準格式,搭配上Java程式,可以使得應用程式大部分的運算得以在客戶端執行,這和目前大部分的Web-based應用程式主要透過伺服端的CGIscripts來完成大部分的運算是相反的模式。

藉著XML與Java技術的結合,將應用程式的運算從伺服端移到客戶端來,有助於降低網路的流量與增加網路的速度。

3.攜帶平台獨立(platform-independent)資訊:

HTML與XML的始祖SGML提供了一套能夠指定資訊的結構與語義的語法規則,而且具備了平台獨立性。

不像Microsoft的RTF、Adobe的PostScript以及其他專屬性的文件格式,SGML所提供的是一套具備平台獨立性與系統獨立性的語法規則。

2、XML的設計目標

根據XML1.0Recommendation(註26),XML的設計目標如下:

1.XML將能直接在Internet上使用。

2.XML將支援各種不同的應用。

3.XML將與SGML相容。

4.處理XML文件的程式能很容易被開發。

5.XML的選項功能將保持最少,最好是零。

6.XML文件應該是易讀且清晰的。

7.XML的設計應該很快就緒。

8.XML的設計將是正式且簡潔的。

9.XML文件將很容易被產生。

10.精簡對於XML標示來說是最不重要的。

(HTML的標示便盡求精簡)

三、XML與SGML主要的不同(註27):

1.DTD不是必備的:

要處理SGML文件必須要有DTD,而對於XML文件而言,DTD不是必要的。

為了要使XML文件在處理上不需透過DTD,XML文件必須遵守更嚴謹的語法規則。

對於XML應用程式而言,沒有DTD的好處之一是可以節省下載DTD所用掉

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1