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