為什麼要使用XML

2021-04-08 16:44:53 字數 1949 閱讀 1810

xml

代表擴充套件標記語言(

extensible markup language

),是由

world wide web consortium(w

3c

)的

xml工作組定義的。這個工作組是這樣描述該語言的:「擴充套件標記語言(

xml)是

sgml

的子集,其目標是允許普通的

sgml

在web

上以目前

html

的方式被服務、接收和處理。

xml被設計成易於實現,且可在

sgml

和html

之間互相操作。」

「關於此規範的正確題目,亦即xml的正確全名,應該是extensible markup language,extensible markup language只不過是乙個拼寫錯誤罷了。但是,現在簡寫xml不僅正確,而且正如它在本規範的標題中一樣,是extensible markup language的官方名稱。

——extensible markup language (xml) 1.0 specs, the annotated version.

正如所看到的,

xml是一種專門在

world wide web

上傳遞資訊的語言,就像

html

(超文字標記語言)一樣(自從

web出現以來,

html

已經成為了建立

web頁的標準語言)。因為我們已經有了

html

,而且它已發展成一種似乎可以滿足任何需要的語言,所以,你可能會疑惑:為什麼我們還需要在

web上採用一種全新的語言呢?

xml有什麼新特性和不同之處?它有什麼特有的優點和長處呢?它與

html

有什麼關係?它是要替換還是增強

html

?最後,這個以

xml作為其子集的

sgml

是什麼,為什麼我們不就用

sgml

來建立web

頁呢?html

提供了固定的預定義元素集,可以使用它來標記乙個典型、通用的web頁的各個組成部分。預定義元素的例子有:標題(

heading

)、(paragraph

)、列表(

list

)、**

(table)

、影象(image)和鏈結(link)。顯示

html

頁的瀏覽器可以識別這些標準元素中的每乙個元素,並且知道怎樣格式化和顯示它們。例如,瀏覽器通常用最大的字型顯示h1標題,h2標題用乙個較小的字型,元素p表示更小的字型。它在未排序的列表中把乙個li元素顯示成乙個帶有專案符號的、縮排的段落。

儘管自從第乙個html版本後,預定義的html元素已經得到了極大的擴充套件,但是html仍然無法適用於已定義的眾多文件型別。下面就是無法使用html充分描述的文件示例:

l不是由典型的組成部分(標題、段落、列表、**等等)組成的文件。例如,html缺乏標記**樂譜或算術等式集的元素。

l想要組成樹型分層結構的文件。例如,你正在寫一本書,而且想要把它分為部分、章、a小節、b小節、c小節等等。接著,乙個程式可以使用這個結構化的文件生成目錄,各種不同級別細節資訊的架構,抽取特定的小節,以及通過其他方法使用這些資訊。

另外,還更有一批對html無可奈何的人,那就是搜尋引擎的開發者。因為從html的標籤本身,他們幾乎得不到任何有用的資訊。如果你要到網上去找出世界上所有關於xml的書籍的價錢,天啊,搜尋引擎要被你忙壞了。它要分辨網路上哪些「xml」字段對應的是書名,又要知道這些書名所對應的價錢。可能你會說,在我們圖書館的網頁中,這不是已經辦到了嗎?問題就在這裡,圖書館是根據內部的資料庫來進行搜尋的,資料庫中的各個欄位都有著明確的含義。但搜尋引擎在網上是根據html檔案來進行搜尋的,那些原本條理清晰、層次分明的資料庫的內容在html檔案中早就被各種各樣的標籤搞得混亂不堪,而搜尋引擎則不得不在這些混亂的內容中大海撈針!

為什麼要使用blog

有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...

為什麼要使用Nginx?

有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...

為什麼要使用RTP

1.維基百科的相關解釋 像tcp這樣的可靠傳輸協議,通過超時和重傳機制來保證傳輸資料流中的每乙個bit的正確性,但這樣會使得無論從協議的實現還是傳輸的過程都變得非常的複雜。而且,當傳輸過程中有資料丟失的時候,由於對資料丟失的檢測 超時檢測 和重傳,會資料流的傳輸被迫暫停和延時。2.為什麼rtp可以解...