一直都對XML有種望塵莫及的感覺,直到看到這篇文章,才終於讓我對它的學習有了更進一步的掌握,原來,它是這麼的有親和力。XML、 XLink、Namespace、DTD、Schema、CSS、XHtml這些莫名的單詞其實也並沒我們想象中的那麼無理取鬧。如果你是一個XML語言的初學者,那麼我強烈建議你把這十個XML自身特點的描述看完,你可以清晰明了地掌握到XML的一些基本概念,然後消化掉,最後應用到自己的程序設計中去。
首先,需要指出的是文章來自網絡,英文原文為W3C.org官方發布: XML in 10 points中文翻譯具體不祥。
結構數據包括如: 電子數據表、地址簿、控制器參數、財務交易及技術繪圖等。XML是一系列文字格式設計的規則(也可稱之為指導方針或慣例),來幫助你組織數據結構。XML不是一種程序語言,所以你不必一定是程序員,同樣可以使用或學習它。XML使計算機簡單地生成及讀取數據,並確保數據結構精確。XML避免了一般語言設計的缺陷:它是可擴展的、跨平台、支持國際化及區域化的格式,絕對支持Unicode格式。
和HTML一樣,XML是使用標簽tags(使用 和包含)和屬性(以name=value的形式)。一旦Html指定了每一個標簽和屬性的定義,一般文字在浏覽器中表現的形式後, XML只使用這些標簽來界定一些資料的特殊意義,但整體句子的意思則隨個別應用程式讀取時界定。換句話說,如你看到一個XML檔中的 p, 千萬不要以為是段落的意思。根據XML上下文的解釋,它可能是一個價?quot;price、一個參表parameter、一個人 person、或(這樣誰可以界定一個p字的定義呢?)
制作電子數據表、地址簿及其它結果數據的程序一般是存儲在磁盤中,以二進制或文字格式儲存的。其中文字存儲格式的好處是,人們在需要時閱讀這些文字,而不須制作文件所用的程式; 另外, 你也可以用你喜愛的文字處理器來讀取文件。文字格式也容許開發者更容易地理解應用程式。如HTML,XML檔是一些人類無需閱讀,但若有須要時亦可閱讀的文字檔案。不太像HTML,XML的規則是非常嚴 格。若忘記了一個標簽或屬性漏了一個引號便使這個XML檔無法執行,但在Html內這些錯誤卻可以接受的。正規的XML定義防止程式嘗試去猜測這個已被破 壞的XML檔的意思;若發現一個被破壞了的檔案,應用程式便會立刻在那兒停止並報告發生錯誤的息。
因為XML是文字格式及其為使用標簽來解放資料,XML文件差不多比所有以二進制格 式的文件檔大。這點往往是XML設計者必定留意及考慮的。文字格式的好處是一切都很清楚(看上文第3點),但亦有不同程度的缺點。磁盤空間的價錢比以前大 幅降低;而其它的文件壓縮程序如zip和gzip便能簡易快捷地把文件壓縮。此外,網絡上的通協議,如數據機通協定及HTTP/1.1便可以在傳送時 把資料壓縮,節省效能跟二進位格式的文件同樣有效率!
XML1.0界定標簽tags及屬性attributes的定義。在 XML1.0以外,XML家族是一項成長中的技術專案以提供有用服務予以配合多項重要及須求率高的工作。XLink解釋了怎樣加入連結至一個XML 檔。XPointer及XFragments文件部份發展的語法。XPointer有點像URL,但除指向一個網上文件外,它亦指向一件在XML文件內的 資料。CSS~界定文件式樣語言,使用在XML上跟在HTML無異。XSL是表達版面式樣style sheets的進階語言。以XSLT,一種用作重新排列、加入或減除標簽及屬性的轉化性語言為基礎。DOM是用來從一種程式語言中,叫取XML檔(及 Html檔)的一組標准。XML Schemas 1和2幫助開發者精確地界定它們自己的一套XML基礎格式。還有其他種類的專案和工具可供考慮或正被開發中。可多留意W3C的技術報告。
XML的開發始於1996年,並於1998年2月成為W3C的推薦文 件;這可能使你認為這是一項並不十分成熟的技術。但事實上,這項技術並不如想象中的新!在XML之前曾有80年代初開發的SGML,一項自1986年有 ISO標准及被廣泛地使用在大型文件策劃專案中。HTML從1990年起開發。XML的設計者只要把SGML中最好的部份,以發展Html的經驗指引來開 發一些不遜於SGML,但比之更有規范和可更簡易地使用的技術。雖然有些時候很難分辨演變和革命的成就但可以確定的,是當SGML被廣泛地使用在技 術文件而被其他種類的資料所疏忽時,XML的情況是剛好相反的!
一個重要的文字性質的XML應用程式:W3C的XHTML,一個接替 HTML的格式。XHTML有許多跟HTML一樣的原素。有一些語法為了配合XML規則而改變了。一份使用XML基礎的文件代替及限制了XML的語法 其在某些方面的用法(例如:XHTML容許p但並不接受r);它更加入一些意義到語法上(XHtml指定 p的意思是段落paragraph,而不是價格price或人person或其他事物)。
XML容許你利用合並及再使用其他格式來自定新的文件格式。因為兩種獨立開發的格式可 能包含一些原材料或稱號用著同一名稱,所以當合並使用這些格式時得特別小心(如p在一份文件代表段落paragraph是否可能 在另一方代表人物person呢?)要解決當合並使用兩種格式時出現名稱混淆的問題,XML提供了一項名為namespace的概念。XSL和RDF 正是用了namespaces的以XML為基礎的格式。XML Schema以簡單的方法來合並兩種規格以演變出包含了兩種規格的第三種格式,是用來反映出在界定XML文件結構時用以引導的支援。
XML提供了一個規范的守則予W3C的RDF,一種 用以表達資料(事實上,基本上是為知識)的語言。RDF就像一個網上連結的下一個層面。一般網上連結把一些文字連接到一些沒有固定關連的事物上,唯RDF 可以把任何事物在連結起後給予一個關系名稱:如甲是乙的價格可以是一件物品和一個價格總和的關系;又如甲比乙重可以是兩個總和的關系;又或甲是 乙的原因可以是沐浴和你身體濕了的關系。當你在知識溝通的時候,不論是以XML/RDF或是以純英語,人或機械上均須要同意某字詞在某方面的用途。一系 列特定的文字可以用來形容一些特定的生活方式(從購物至數學邏輯)便稱之為Ontology。RDF, OntologIEs及其代表意思,使電腦可以幫我們執行所有Semantic Web活動。
當你選擇XML為你計劃的基礎,你就像已得到一 些龐大及增長中的工具(其中一些可能已做到你所需要的)及工程技術員多年積累的技術經驗。選擇使用XML就像在進行資料庫管理時選擇SQL的程序:你依然 要建立你自己的資料庫及你自己的程式及步驟來進行,及有許多工具和許多人來協助你。由於XML是沒有版權限制,你可以建立你自己一套軟體而無須支付任何費 用予別人。而龐大及增多中的支援意謂你無須依賴任何單一商號。 XML雖並不永遠代表是最好的方案, 但永遠值得你考慮。