什么是html?
html被稱(chēng)為超文本標(biāo)記語(yǔ)言,是一種描述性語(yǔ)言,用html可以創(chuàng)建能在互聯(lián)網(wǎng)上傳輸?shù)男畔㈨?yè),是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言,它是由很多的標(biāo)簽組成,具有簡(jiǎn)易性、與平臺(tái)無(wú)關(guān)性?xún)纱笠c(diǎn)。
html就是描述網(wǎng)頁(yè)長(zhǎng)什么樣子、有什么內(nèi)容的一個(gè)文本。我們通常所見(jiàn)得各種各樣的網(wǎng)頁(yè),是經(jīng)過(guò)瀏覽器解析html文件出現(xiàn)的結(jié)果。
在瀏覽器的網(wǎng)頁(yè)上右鍵→選擇“查看源文件”或“查看頁(yè)面源代碼”,出現(xiàn)的就說(shuō)html文件,此處以Google瀏覽器為例:
什么是xml?
xml即可擴(kuò)展標(biāo)記語(yǔ)言,是Internet環(huán)境中跨平臺(tái)的、依賴(lài)于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具,滿(mǎn)足了Web內(nèi)容發(fā)布與交換的需要,適合作為各種存儲(chǔ)與共享的通用平臺(tái)。
使用xml標(biāo)記語(yǔ)言可以做到數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)在任何編程語(yǔ)言環(huán)境下的共享。例如我們?cè)谀硞€(gè)計(jì)算機(jī)平臺(tái)上用某種編程語(yǔ)言編寫(xiě)了一些或數(shù)據(jù)結(jié)構(gòu),然后用xml標(biāo)記語(yǔ)言進(jìn)行處理,那樣的話(huà),其他人就可以在其他的計(jì)算機(jī)平臺(tái)上來(lái)訪問(wèn)這些數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu),甚至可以用其他的編程語(yǔ)言來(lái)操作這些數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)了。這就是xml標(biāo)記語(yǔ)言作為一種數(shù)據(jù)交換語(yǔ)言存在的價(jià)值。
xml可以理解為一輛沒(méi)有發(fā)動(dòng)機(jī)的車(chē)。xml把所有部件按照一定規(guī)則集合在一起,就等編譯器這個(gè)發(fā)動(dòng)機(jī)去啟動(dòng)這個(gè)車(chē)。現(xiàn)在用的比較多的是配置和數(shù)據(jù)結(jié)構(gòu)定義。
html和xml的相同點(diǎn)
html和xml都是標(biāo)記語(yǔ)言,都是基于文本編輯和修改的。
都是用于操作系統(tǒng)或數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)上大致相同。
都可以通過(guò)DOM變成方式來(lái)訪問(wèn)。
都是通過(guò)CSS來(lái)改變外觀。
html和xml的不同點(diǎn)
比較內(nèi)容 | html | xml |
設(shè)計(jì)目標(biāo) | 顯示數(shù)據(jù),如何更好地顯示數(shù)據(jù),焦點(diǎn)是數(shù)據(jù)外觀 | 描述數(shù)據(jù),什么是數(shù)據(jù),如何存放數(shù)據(jù),焦點(diǎn)是數(shù)據(jù)的內(nèi)容 |
語(yǔ)法 |
不要求標(biāo)記的嵌套、配對(duì)等; 不區(qū)分大小寫(xiě);(html5版本只能用小寫(xiě)) 引號(hào)是可用可不用的; 可以擁有不帶值的屬性名; 過(guò)濾掉空格; |
嚴(yán)格要求嵌套、配對(duì),并遵循DTD的樹(shù)形結(jié)構(gòu); 區(qū)分大小寫(xiě); 屬性值必須分裝在引號(hào)中; 所有的屬性都必須代有相應(yīng)的值; 空白部分不會(huì)被解析器自動(dòng)刪除; xml比html語(yǔ)法要求更嚴(yán)格; |
數(shù)據(jù)和顯示的關(guān)系 | 內(nèi)容描述與顯示方式整合為一體 | 內(nèi)容描述與顯示方式分離 |
標(biāo)簽 | 預(yù)定義 | 免費(fèi)、自定義、可擴(kuò)展 |
可讀性及可維護(hù)性 | 難于閱讀、維護(hù) | 結(jié)構(gòu)清晰、便于閱讀、維護(hù) |
結(jié)構(gòu)描述 | 不支持深層的結(jié)構(gòu)描述 | 文件結(jié)構(gòu)嵌套可以復(fù)雜到任何程度 |
與數(shù)據(jù)庫(kù)的關(guān)系 | 沒(méi)有直接關(guān)系 | 與關(guān)系型和層狀數(shù)據(jù)庫(kù)均可對(duì)應(yīng)和轉(zhuǎn)換 |
超鏈接 | 單文件、書(shū)簽鏈接 | 可以定義雙向鏈接、多目標(biāo)鏈接、擴(kuò)展鏈接 |
xml的優(yōu)勢(shì)
·xml文檔的內(nèi)容和結(jié)構(gòu)完全分離
在xml文檔中,數(shù)據(jù)的顯示樣式已從文檔中分離出來(lái),而被放入相關(guān)的樣式表文件中。這樣一來(lái),如果要改動(dòng)數(shù)據(jù)的表現(xiàn)形式,就不需要改動(dòng)數(shù)據(jù)本身,只要改動(dòng)控制數(shù)據(jù)顯示的樣式表文件就可以了。xml能夠確保同一網(wǎng)絡(luò)站點(diǎn)的數(shù)據(jù)信息能夠在不同的設(shè)備上成功顯示。
·輕松地跨平臺(tái)應(yīng)用
xml文檔是基于文本的,所以很容易被人和機(jī)器閱讀,也非常容易使用,純文本文件可以方便地穿越防火墻,便于不同設(shè)備和不同系統(tǒng)間的信息交換。
·支持不同文字、不同語(yǔ)種間的信息交互
xml所以來(lái)的Unicode標(biāo)準(zhǔn),是一個(gè)支持世界上所有主要語(yǔ)言的混合文字符號(hào)編碼系統(tǒng),xml技術(shù)不但使得各種信息能在不同的計(jì)算機(jī)系統(tǒng)之間交互,還能跨語(yǔ)種、跨文化進(jìn)行交流。
·便于信息的檢索
由于xml通過(guò)給數(shù)據(jù)內(nèi)容貼上標(biāo)記來(lái)描述其含義,并且把數(shù)據(jù)的顯示格式分離出去,所以對(duì)xml文檔數(shù)據(jù)的搜索就可以簡(jiǎn)單高效地進(jìn)行。在此情況下,搜索引擎沒(méi)有必要再去遍歷整個(gè)文檔,只需查找制定標(biāo)記的內(nèi)容就可以了。
·可擴(kuò)展性
xml允許個(gè)人組織或個(gè)人簡(jiǎn)歷適合他們自己需要的標(biāo)記集合或標(biāo)記庫(kù),并且這些標(biāo)記集合可以快速地投入到互聯(lián)網(wǎng)的使用中。比較典型的有化學(xué)標(biāo)記語(yǔ)言CML、數(shù)據(jù)標(biāo)記語(yǔ)言MathML、矢量圖形標(biāo)記語(yǔ)言VML、無(wú)線(xiàn)通信標(biāo)記語(yǔ)言WML等。
·適合面向?qū)ο蟮某绦蜷_(kāi)發(fā)
xml文檔是非常容易閱讀的,對(duì)集齊也是如此。xml文檔數(shù)據(jù)的邏輯結(jié)構(gòu)是一種樹(shù)形的層次結(jié)構(gòu),文檔中的每一個(gè)元素都可以映射為一個(gè)對(duì)象,同時(shí)也可以有相應(yīng)的屬性和方法,因而非常適合使用面向?qū)ο蟮某绦蛟O(shè)計(jì)方式來(lái)開(kāi)發(fā)處理這些xml文檔的應(yīng)用程序。
總結(jié)
xml不是要來(lái)取代html的,是對(duì)html的補(bǔ)充,用來(lái)與html協(xié)同工作的語(yǔ)言,基于上面這些優(yōu)勢(shì),xml將來(lái)成為所有的數(shù)據(jù)處理和數(shù)據(jù)傳輸?shù)某S霉ぞ叻浅?捎^。