明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

XML簡(jiǎn)單學(xué)習(xí)手冊(cè)(5)XML語(yǔ)法之一

[摘要]第四章 XML語(yǔ)法 提綱: 一.XML語(yǔ)法規(guī)則 二.元素的語(yǔ)法 三.注釋的語(yǔ)法 四.CDATA的語(yǔ)法 五.Namespaces的語(yǔ)法 六.entity的語(yǔ)法 七.DTD的語(yǔ)法 通過(guò)前面三章的學(xué)習(xí),我們已經(jīng)對(duì)什么是XML,它的實(shí)現(xiàn)原理以及相關(guān)的術(shù)語(yǔ)有所了解。接下來(lái)我們就開(kāi)始學(xué)習(xí)XML的語(yǔ)法規(guī)范,動(dòng)手...
第四章 XML語(yǔ)法

提綱:

一.XML語(yǔ)法規(guī)則
二.元素的語(yǔ)法
三.注釋的語(yǔ)法
四.CDATA的語(yǔ)法
五.Namespaces的語(yǔ)法
六.entity的語(yǔ)法
七.DTD的語(yǔ)法

通過(guò)前面三章的學(xué)習(xí),我們已經(jīng)對(duì)什么是XML,它的實(shí)現(xiàn)原理以及相關(guān)的術(shù)語(yǔ)有所了解。接下來(lái)我們就開(kāi)始學(xué)習(xí)XML的語(yǔ)法規(guī)范,動(dòng)手寫(xiě)自己的XML文檔。

一.XML語(yǔ)法規(guī)則

XML的文檔和HTML的原代碼類似,也是用標(biāo)識(shí)來(lái)標(biāo)識(shí)內(nèi)容。創(chuàng)建XML文檔必須遵守下列重要規(guī)則:
規(guī)則1:必須有XML聲明語(yǔ)句
這一點(diǎn)我們?cè)谏弦徽聦W(xué)習(xí)時(shí)已經(jīng)提到過(guò)。聲明是XML文檔的第一句,其格式如下:
<?xml version="1.0" standalone="yes/no" encoding="UTF-8"?>
聲明的作用是告訴瀏覽器或者其它處理程序:這個(gè)文檔是XML文檔。聲明語(yǔ)句中的version表示文檔遵守的XML規(guī)范的版本;standalone表示文檔是否附帶DTD文件,如果有,參數(shù)為no;encoding表示文檔所用的語(yǔ)言編碼,默認(rèn)是UTF-8。

規(guī)則2:是否有DTD文件
如果文檔是一個(gè)"有效的XML文檔"(見(jiàn)上一章),那么文檔一定要有相應(yīng)DTD文件,并且嚴(yán)格遵守DTD文件制定的規(guī)范。DTD文件的聲明語(yǔ)句緊跟在XML聲明語(yǔ)句后面,格式如下:
<!DOCTYPE type-of-doc SYSTEM/PUBLIC "dtd-name">
其中:
"!DOCTYPE"是指你要定義一個(gè)DOCTYPE;
"type-of-doc"是文檔類型的名稱,由你自己定義,通常于DTD文件名相同;
"SYSTEM/PUBLIC"這兩個(gè)參數(shù)只用其一。SYSTEM是指文檔使用的私有DTD文件的網(wǎng)址,而PUBLIC則指文檔調(diào)用一個(gè)公用的DTD文件的網(wǎng)址。
"dtd-name" 就是DTD文件的網(wǎng)址和名稱。所有DTD文件的后綴名為".dtd"。
我們還是用上面的例子,應(yīng)該寫(xiě)成這樣:
<?xml version="1.0" standalone="no" encode="UTF-8"?>
<!DOCTYPE filelist SYSTEM "filelist.dtd">

規(guī)則3:注意你的大小寫(xiě)
在XML文檔中,大小寫(xiě)是有區(qū)別的。<P>和<p>是不同的標(biāo)識(shí)。注意在寫(xiě)元素時(shí),前后標(biāo)識(shí)大小寫(xiě)要保持一樣。例如:<Author>ajie</Author>,寫(xiě)成<Author>ajie</author>是錯(cuò)誤的。
你最好養(yǎng)成一種習(xí)慣,或者全部大寫(xiě),或者全部小寫(xiě),或者大寫(xiě)第一個(gè)字母。這樣可以減少因?yàn)榇笮?xiě)不匹配產(chǎn)生的文檔錯(cuò)誤。

規(guī)則4:給屬性值加引號(hào)
在HTML代碼里面,屬性值可以加引號(hào),也可以不加。例如:<font color=red>word</font>和<font color="red">word</font>都可以被瀏覽器正確解釋。
但是在XML中則規(guī)定,所有屬性值必須加引號(hào)(可以是單引號(hào),也可以是雙引號(hào)),否則將被視為錯(cuò)誤。

規(guī)則5:所有的標(biāo)識(shí)必須有相應(yīng)的結(jié)束標(biāo)識(shí)
在HTML中,標(biāo)識(shí)可能不是成對(duì)出現(xiàn)的,比?lt;br>。而在XML中規(guī)定,所有標(biāo)識(shí)必須成對(duì)出現(xiàn),有一個(gè)開(kāi)始標(biāo)識(shí),就必須有一個(gè)結(jié)束標(biāo)識(shí)。否則將被視為錯(cuò)誤。

規(guī)則6:所有的空標(biāo)識(shí)也必須被關(guān)閉
空標(biāo)識(shí)就是標(biāo)識(shí)對(duì)之間沒(méi)有內(nèi)容的標(biāo)識(shí)。比如<br>,<img>等標(biāo)識(shí)。在XML中,規(guī)定所有的標(biāo)識(shí)必須有結(jié)束標(biāo)識(shí),針對(duì)這樣的空標(biāo)識(shí),XML中處理的方法是在原標(biāo)識(shí)最后加/,就可以了。例如:
<br>應(yīng)寫(xiě)為<br />;
<META name="keywords" content="XML, SGML, HTML">應(yīng)寫(xiě)為<META name="keywords" content="XML, SGML, HTML" />;
<IMG src= "cool.gif">應(yīng)寫(xiě)為<IMG src= "cool.gif" />