HTML將數(shù)據(jù)內(nèi)容與表現(xiàn)融為一體,可修改性、數(shù)據(jù)可檢索性差,而XML借鑒了HTML與數(shù)據(jù)庫(kù)、程序語(yǔ)言的優(yōu)點(diǎn),將內(nèi)容與表現(xiàn)分開(kāi),不僅使檢索更為方便,更主要的是用戶之間數(shù)據(jù)的交換更加方便,可重用性更強(qiáng)。
XML是一種元標(biāo)記語(yǔ)言,沒(méi)有許多固定的標(biāo)記,為WEB開(kāi)發(fā)人員提供了更大的靈活性。當(dāng)我們使用HTML時(shí),標(biāo)記只是簡(jiǎn)單的表示內(nèi)容的顯示形式,而與表示的內(nèi)容沒(méi)有任何關(guān)聯(lián),為文檔的進(jìn)一步處理帶來(lái)極大的不便。比如要表示個(gè)人簡(jiǎn)歷,用HTML的表示方式如下:
< HTML >
< BODY >
< TABLE border=1 cellspacing=0 >
< TH >網(wǎng)站名稱< TD >武林網(wǎng)< TH >性質(zhì)< TD >個(gè)人< TH >創(chuàng)建日期< TD >2010.1
< TR >
< TH >功能< TD colspan=5 >數(shù)據(jù)庫(kù)設(shè)計(jì)與維護(hù)、WEB開(kāi)發(fā)
< /TABLE >
< /BODY >
< /HTML >
在這里,我們無(wú)法從標(biāo)記TH、TD得知其內(nèi)容表示什么,如果用XML,相應(yīng)的文檔(文件名:個(gè)人簡(jiǎn)歷.xml)就可寫(xiě)成如下形式:
< ?xml version="1.0" encoding="GB2312"? >
< resume >
< name >武林網(wǎng)< /name >
< sex >個(gè)人< /sex >
< birthday >2010.1< /birthday >
< skill >數(shù)據(jù)庫(kù)設(shè)計(jì)與維護(hù)、WEB開(kāi)發(fā)< /skill >
< /resume >
說(shuō)明:
version──規(guī)定了XML文檔的版本,此處只能是1.0;
encoding── 此處規(guī)定了XML文檔的編碼類型,此處取值為“GB2312”,也就是“簡(jiǎn)體中文”。
對(duì)比兩例,使用XML我們可以做到自定義標(biāo)記,用標(biāo)記表明內(nèi)容的含義。這樣在Internet上交流資料時(shí),為用計(jì)算機(jī)處理文檔提供了極大的方便,同時(shí)我們閱讀源文件時(shí)也不會(huì)被一大堆格式弄得暈頭轉(zhuǎn)向。
然而,由于XML并沒(méi)有為標(biāo)記規(guī)定顯示方式,如果我們?cè)谟斡[器中查看以上兩個(gè)文檔(建議使用IE5.0或更新版本),我們將看到xml文檔并沒(méi)有以諸如表格的方式來(lái)顯示。難道我們就不能像HTML一樣顯示文檔嗎?回答是否定的。以個(gè)人簡(jiǎn)歷為例,需要另建一個(gè)格式文件說(shuō)明各個(gè)標(biāo)記的顯示方式,其內(nèi)容如下(假設(shè)文件名為resum ss):
resume{ display: block;}
name{ display: block; font-size:120%;}
sex{ display:block; text-indent:2em}
birthday{ display:block; text-indent:2em}
skill{ display:block; text-indent:2em}
說(shuō)明:
以上均為CSS樣式,建議讀者參考有關(guān)資料熟悉CSS,在以后學(xué)習(xí)中必須用到,此處由于篇幅關(guān)系不作介紹。建立文件resume.css后,在個(gè)人簡(jiǎn)歷.xml文件的第一行后添加以下文字:
< ?xml:stylesheet type="text/css" href=http://www.blue1000.com/article/"resume.css"? >
說(shuō)明:
此處表示引用一個(gè)外部CSS樣式文件,其中type規(guī)定樣式類型(可取值為text/css或text/xsl),href規(guī)定文件路徑。
保存文件,再以IE5.0打開(kāi)文件。怎么樣?格式有些不一樣吧。好象還不令人滿意,文檔內(nèi)容是清晰了,但顯示效果比HTML編寫(xiě)的文檔就差得多了,XML編寫(xiě)的文檔就只能以這種方式顯示嗎?!
提示:
(1) 為了更好的理解與掌握XML,建議大家熟悉HTML 4.0與CSS 2.0語(yǔ)法;掌握J(rèn)avaScript、VBscript中至少一種;編程經(jīng)驗(yàn)、對(duì)數(shù)據(jù)庫(kù)理論與SQL的了解均能使大家在學(xué)習(xí)XML時(shí)獲益。
(2)XML文檔中標(biāo)記必須成對(duì)出現(xiàn),如果是空標(biāo)記也必須有前加“/”的同名標(biāo)記結(jié)束,或使用此種文式< xml_mark/ >表示空標(biāo)記。
(3)XML以及下周將要介紹的XSL文檔,屬性值必須用雙引號(hào)(")或單引號(hào)(")括起來(lái)。
(4)XML文檔必須是好結(jié)構(gòu)的(XSL文檔也是XML文檔中一種),也就是說(shuō)標(biāo)記必須有結(jié)束標(biāo)記、標(biāo)記可以嵌套但不可交叉,如
< outer >< inner >< /inner >< inner/ >< /outer >
是合法的,而下面的形式
< outer >< inner >< /outer >< /inner >
則是錯(cuò)誤的。如果XML文檔在瀏覽時(shí)出錯(cuò),多半是違反了上面提到的規(guī)則。
新聞熱點(diǎn)
疑難解答
圖片精選