曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
1.1 什么是XML
XML 代表Extensible Markup Language(eXtensible Markup Language 的縮寫,意為可擴展的標記語言)。XML 是一套定義
語義標記的規則,這些標記將文檔分成許多部件并對這些部件加以標識。它也是元標記語言,即定義了用于定義其他與特定
領域有關的、語義的、結構化的標記語言的句法語言。
1.1.1 XML 是元標記語言
關于XML 要理解的第一件事是,它不只是像超文本標記語言(Hypertext Markup Language,HTML)或是格式化的程序。這
些語言定義了一套固定的標記,用來描述一定數目的元素。如果標記語言中沒有所需的標記,用戶也就沒有辦法了。這時只
好等待標記語言的下一個版本,希望在新版本中能夠包括所需的標記,但是這樣一來就得依賴于軟件開發商的選擇了。
但是XML 是一種元標記語言。用戶可以定義自己需要的標記。這些標記必須根據某些通用的原理來創建,但是在標記的意義
上,也具有相當的靈活性。例如,假如用戶正在處理與家譜有關的事情,需要描述人的出生、死亡、埋葬地、家庭、結婚、
離婚等,這就必須創建用于每項的標記。新創建的標記可在文檔類型定義(Document Type Definition,在以后的篇幅中常
XML 實用大全
第 2 頁
簡稱為DTD)中加以描述。在本書的第二部分中將會學到有關DTD 的更多的知識。現在,只需把DTD 看作是一本詞匯表和某
類文檔的句法。例如,在Peter Murray-Rust 的Chemical Markup Language (化學標記語言,簡寫為CML)中的MOL.DTD
文件中描述了詞匯表和分子科學的句法:其中包括chemistry(化學)、crystallography(結晶學)、solid state physics
(固體物理)等詞匯。它包括用于atoms(原子)、molecules(分子)、bonds(化學鍵)、spectra(光譜)等的標記。
這個DTD 可與分子科學領域中的許多不同的人共享。對于其他領域也有其他的DTD,用戶還可以創建自己的DTD。
XML 定義了一套元句法,與特定領域有關的標記語言(如MusicML、MathML 和CML)都必須遵守。如果一個應用程序可以理
解這一元句法,那么它也就自動地能夠理解所有的由此元語言建立起來的語言。瀏覽器不必事先了解多種不同的標記語言使
用的每個標記。事實是,瀏覽器在讀入文檔或是它的DTD 時才了解了給定文檔使用的標記。關于如何顯示這些標記的內容的
詳細指令是附加在文檔上的另外的樣式單提供的。例如,考慮薛定格(Schrodinger)方程:
科學論文中充滿了這一類方程,但是科學家還必須等待多年,才能讓瀏覽器的開發商支持書寫最基本的數學公式所需的標記。
音樂家也有同樣的局限性,因為Netscape Navigator 和Internet Explorer 還都不支持樂譜。
有了XML 就意味著不必等待瀏覽器的開發商來滿足用戶的需要了。用戶可以創建自己需要的標記,當需要時,告訴瀏覽器如
何顯示這些標記就可以了。
1.1.2 XML 描述的是結構和語義,而不是格式化
關于XML 要了解的第二件事是,XML 標記描述的是文檔的結構和意義。它不描述頁面元素的格式化。可用樣式單為文檔增加
格式化信息。文檔本身只說明文檔包括什么標記,而不是說明文檔看起來是什么樣的。
作為對照,HTML 文檔包括了格式化、結構和語義的標記。<B>就是一種格式化標記,它使其中的內容變為粗體。<STRONG>是
一種語義標記,意味著其中的內容特別重要。<TD>是結構標記,指明內容是表中的一個單元。事實上,某些標記可能具有所
有這三種意義。<H1>標記可同時表示20 磅的Helvetica 字體的粗體、第一級標題和頁面標題。
例如,在HTML 中,一首歌可能是用定義標題、定義數據、無序的列表和列表項來描述的。但是事實上這些項目沒有一件是
與音樂有關的。用HTML 定義的歌曲可能如下:
<dt>Hot Cop
<dd> by Jacques Morali Henri Belolo and Victor Willis
<ul>
<li>Producer: Jacques Morali
<li>Publisher: PolyGram Records
<li>Length: 6:20
<li>Written: 978
XML 實用大全
第 3 頁
<li>Artist: Village People
</ul>
而在XML 中,同樣的數據可能標記為:
<SONG>
<TITLE>Hot Cop</TITLE>
<COMPOSER>Jacques Morali</COMPOSER>
<COMPOSER>Henri Belolo</COMPOSER>
<COMPOSER>Victor Willis</COMPOSER>
<PRODUCER>Jacques Morali</PRODUCER>
<PUBLISHER>PolyGram Records</PUBLISHER>
<LENGTH>6:20</LENGTH>
<YEAR> 978</YEAR>
<ARTIST>Village People</ARTIST>
</SONG>
在這個清單中沒有使用通用的標記如<dt>和<li>,而是使用了具有意義的標記,如<SONG>、<TITLE>、<COMPOSER>和<YEAR>
等。這種用法具有許多優點,包括源碼易于被人閱讀,使人能夠看出作者的含義。
XML 標記還使非人類的自動機器人易于找出文檔中的所有歌曲。在HTML 中,機器人只能告訴我們這個元素是dt。機器人不
能決定dt 到底代表一首歌的題目還是定義,抑或只是一些設計者喜愛的縮進文本格式。事實上,單一文檔中可以很好地包
括帶有三種意義的各種dt 元素。
可以選擇XML 的元素名稱,以便使其在附加的上下文中具有額外的意義。例如,元素名稱可以是數據庫的域名。XML 比HTML
更為靈活而且適用于各種應用,因為有限數目的標記不必用于許多不同的目的。
XML 實用大全
第 4 頁
1.2 為什么開發人員對XML 感到激動
XML 使許多只利用HTML 難以解決的任務變得簡單,使只利用HTML 不可能完成的任務得以完成。因為XML 是可擴展的,開發
人員喜愛XML 有許多原因。到底是哪個更令人感興趣,取決于每個人的需要。但有一點是肯定的,一旦用上XML,就可發現,
它正是解決許多令人感到棘手的問題的有力工具。本節研究一些令開發人員激動的一般應用。在第2 章中,還會看到已經用
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(8)