跳到主要內容

XML

可擴展標記語言英語eXtensible Markup Language,簡稱:XML),是一種標記語言。標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用像XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。XML是從標準通用標記語言(SGML)中簡化修改出來的。它主要用到的有可擴展標記語言、可擴展樣式語言(XSL)、XBRLXPath等。

目錄

歷史

XML是從1995年開始有其雛形,並向W3C全球資訊網聯盟)提案,而在1998二月發佈為W3C的標準(XML1.0)。XML的前身是SGMLThe Standard Generalized Markup Language),是自IBM從1960年代就開始發展的GMLGeneralized Markup Language)標準化後的名稱。
GML的重要概念:
  • 文件中能夠明確的將標示與內容分開
  • 所有文件的標示使用方法均一致
1978年,ANSI將GML加以整理規範,發佈成為SGML,1986年起為ISO所採用(ISO 8879),並且被廣泛地運用在各種大型的文件計劃中,但是SGML是一種非常嚴謹的文件描述法,導致過於龐大複雜(標準手冊就有500多頁),難以理解和學習,進而影響其推廣與應用。
同時W3C也發現到HTML的問題:
  • 不能解決所有解釋資料的問題 - 像是影音檔或化學公式、音樂符號等其他形態的內容。
  • 效能問題 - 需要下載整份文件,才能開始對文件做搜尋。
  • 擴充性、彈性、易讀性均不佳。
為瞭解決以上問題,專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,但是簡單的描述資料語言:XML。 XML是在一個這樣的背景下誕生的——為了有一個更中立的方式,讓消費端自行決定要如何消化、呈現從服務端所提供的資訊。
XML被廣泛用來作為跨平台之間交互數據的形式,主要針對數據的內容,通過不同的格式化描述手段(XSLT,CSS等)可以完成最終的形式表達(生成對應的HTML,PDF或者其他的文件格式)。

用途

XML設計用來傳送及攜帶數據信息,不用來表現或展示數據,HTML語言則用來表現數據,所以XML用途的焦點是它說明數據是什麼,以及攜帶數據信息。
  • 豐富文件(Rich Documents)- 自定文件描述並使其更豐富
    • 屬於文件為主的XML技術應用
    • 標記是用來定義一份資料應該如何呈現
  • 元數據(Metadata)- 描述其它文件或網路資訊
    • 屬於資料為主的XML技術應用
    • 標記是用來說明一份資料的意義
  • 配置文檔(Configuration Files)- 描述軟體設定的參數

XML定義結構、存儲信息、傳送信息。下例為比爾發送給賈伯斯的便條,存儲為XML。
<小紙條>
    <收件人>賈伯斯>
    <發件人>比爾>
    <主題>問候>
    <具體內容>嗨,過些年去找你。>
>
這XML文檔僅是純粹的信息標籤,這些標籤意義的展開依賴於應用它的程序。

結構

每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,。這一行代碼會告訴解析器和瀏覽器,這個文件應該按照前面討論過的XML規則進行解析。第二行代碼,< books>,則是文檔元素(document element),它是文件中最外面的標籤(我們認為元素(element)是起始標籤和結束標籤之間的內容)。所有其他的標籤必須包含在這個標籤之內來 組成一個有效的XML文件。XML文件的第二行並不一定要包含文檔元素;如果有註釋或者其他內容,文檔元素可以遲些出現。
範例文件中的第三行代碼是註釋,你會發現它與HTML中使用的註釋風格是一樣的。這是XML從SGML中繼承的語法元素之一。
頁面再往下的一些地方,可以發現標籤裡有一些特殊的語法。代碼用於表示無需進行解析的文本,允許諸如大於號和小於號之類的特殊字元包含在文本中,而無需擔心破壞XML的語法。文本必須出現 在之間才能合適地避免被解析。這樣的文本稱為Character Data Section,簡稱CData Section。
下面的一行就是在第二本書的定義之前的:

雖然它看上去很像XML序言,但實際上是一種稱為處理指令(processing instruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下 是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字元串序列。
最常見的PI是用來指定XML文件的樣式表:
這個PI一般會直接放在XML序言之後,通常由Web瀏覽器使用,來將XML數據以特殊的樣式顯示出來。
XML的結構有一個缺陷,那就是不支持分幀(framing)。當多條XML消息在TCP上傳輸的時候,無法基於XML協議來確定一條XML消息是否已經結束。

留言

這個網誌中的熱門文章

[試用心得] 日本無線上網超Wi-Ho(走SoftBank),一日不限流量NT299,可供多人使用,林氏璧讀者九五折優惠。

[試用心得] 日本無線上網超Wi-Ho(走SoftBank),一日不限流量NT299,可供多人使用,林氏璧讀者九五折優惠。 p.s.上面這張圖的吃到飽是錯的,Docomo小白機從去年就有限流量了,但特樂通聲稱Soft Bank小紅機是沒有限流量的。 我 是一個重度網路使用者,因為我有一個部落格需要管理。即使是在旅行的時候,我也很難忍受一天不能上網。去年從美國回來後終於入手了智慧型手機,這才發現這 個世界已經進步成什麼樣了!!一個小小手機就可以上網辦到好多事啊!!我也變成了一個低頭族,喜歡到處打卡,到了一個新地方就想上傳照片和粉絲專頁的朋友 們分享,或是用line或Skype和家人報平安。2012年8月我去東北的那一次是申請中華電信的漫遊,速度感覺不是很快或很穩定(當然也和東北多半比 較郊區有關)。這次回東京,終於試用到了網路上大名鼎鼎的上網神器:Wi-Ho。其實我想用用看WI-HO很久了,因為似乎比常用的B-MOBILE快很 多又不用裝SIM卡,這次終於有機會^^ 感謝日商特樂通資訊台灣分公司提供我們試用!!這次旅行途中一路暢通的網路,讓我體驗到活用各式App,google地圖等來定位,Tabelog找店家 等等的方便功能,真的深深感覺,傳統的玩東京的方式可以被行動上網徹底改變呢! 2013.7.19更新: 特樂通公司將推出兩台新機器,舊的小白機有可能慢慢淘汰,這篇介紹的小紅機還是不錯的選擇,但都有更好的機種了,請看: [新機上市] Wi-Ho黑旋風機(走Docomo適合郊區)及小黑機(走E-mobile適合城市),可使用超過十小時的日本無線上網新選擇,林氏璧讀者九五折優惠。 2013.7.3更新: 1.超WiHo! Softbank 3.5G (JP-S )(小紅機) 日本 $199/天 !! 說明:只有限前往日本及小紅機訊號優良地區,其他地區小紅機訊號不好處,需使用Docomo (JP-DM),仍維持原價$299 比方說我從6月15日借八天Soft bank小紅,不但一天199,整個金額會再打95折歐!快從這個林氏璧的專屬網址 線上申請 吧。(如果沒有打折,請在經銷商的欄位輸入linshibi,應該就會有打折了) 2.7~9月份使用的所有國家(包含日本),請即日起上網預訂,7~9月日本機器尚有充足貨源,...

Effortless English - MP3 Free Download ( 167 )

Effortless English - MP3 Free Download ( 167 ) You can download here free AJ Hoge's podcasts, upload them to your mp3 player and improve your English listening at least 30 minutes everyday. To download mp3 click right button of your mouse and select "Save as". Click here to go to the official Effortless English website! General: Power_English_Update.mp3 Models_Etc.mp3 Audio_Twitter_Tweets.mp3 AJ_Update.mp3 Hitch_1_Commentary.mp3 Hitch_1.mp3 Hitch_1_MS-POV.mp3 Hitch_1_MS.mp3 Hitch_1_Vocab.mp3 English_Mastery_Formula.mp3 New_English_Club.mp3 Learn_English_Naturally.mp3 Back_Home.mp3 The_Best_Investment.mp3 Seminar_In_Bangkok_Jan25.mp3 New_Year_Resolution.mp3 Subconscious_Learning.mp3 Intensely.mp3 Super_Fast.mp3 English_Learning_Psychology.mp3 English_Club_2.mp3 Your_First_Lesson.mp3 Business_English_For_New_Business.mp3 Learn_English_Conversation.mp3 Learn_English_Grammar.mp3 Business_vs_Self-Employment.mp3 Learn_Business_English_Eff...