本文簡(jiǎn)介地介紹了XML的語(yǔ)法規(guī)則。
1、所有 XML 元素都須有關(guān)閉標(biāo)簽
在 HTML,經(jīng)常會(huì)看到?jīng)]有關(guān)閉標(biāo)簽的元素:
<p>This is a paragraph
<p>This is another paragraph
在 XML 中,省略關(guān)閉標(biāo)簽是非法的。所有元素都必須有關(guān)閉標(biāo)簽:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
注釋:您也許已經(jīng)注意到 XML 聲明沒有關(guān)閉標(biāo)簽。這不是錯(cuò)誤。聲明不屬于XML本身的組成部分。它不是 XML 元素,也不需要關(guān)閉標(biāo)簽。
2、XML 標(biāo)簽對(duì)大小寫敏感
XML 元素使用 XML 標(biāo)簽進(jìn)行定義。
XML 標(biāo)簽對(duì)大小寫敏感。在 XML 中,標(biāo)簽 <Letter> 與標(biāo)簽 <letter> 是不同的。
必須使用相同的大小寫來編寫打開標(biāo)簽和關(guān)閉標(biāo)簽:
<Message>這是錯(cuò)誤的。</message>
<message>這是正確的。</message>
注釋:打開標(biāo)簽和關(guān)閉標(biāo)簽通常被稱為開始標(biāo)簽和結(jié)束標(biāo)簽。不論您喜歡哪種術(shù)語(yǔ),它們的概念都是相同的。
3、XML 必須正確地嵌套
在 HTML 中,常會(huì)看到?jīng)]有正確嵌套的元素:
<b><i>This text is bold and italic</b></i>
在 XML 中,所有元素都必須彼此正確地嵌套:
<b><i>This text is bold and italic</i></b>
在上例中,正確嵌套的意思是:由于 <i> 元素是在 <b> 元素內(nèi)打開的,那么它必須在 <b> 元素內(nèi)關(guān)閉。
4、XML 文檔必須有根元素
XML 文檔必須有一個(gè)元素是所有其他元素的父元素。該元素稱為根元素。
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
5、XML 的屬性值須加引號(hào)
與 HTML 類似,XML 也可擁有屬性(名稱/值的對(duì))。
在 XML 中,XML 的屬性值須加引號(hào)。請(qǐng)研究下面的兩個(gè) XML 文檔。第一個(gè)是錯(cuò)誤的,第二個(gè)是正確的:
<note date=08/08/2008>
<to>George</to>
<from>John</from>
</note>
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note>
在第一個(gè)文檔中的錯(cuò)誤是,note 元素中的 date 屬性沒有加引號(hào)。
6、實(shí)體引用
在 XML 中,一些字符擁有特殊的意義。
如果你把字符 "<" 放在 XML 元素中,會(huì)發(fā)生錯(cuò)誤,這是因?yàn)榻馕銎鲿?huì)把它當(dāng)作新元素的開始。
這樣會(huì)產(chǎn)生 XML 錯(cuò)誤:
<message>if salary < 1000 then</message>
為了避免這個(gè)錯(cuò)誤,請(qǐng)用一個(gè)實(shí)體引用來代替 "<" 字符:
<message>if salary < 1000 then</message>
在 XML 中,有 5 個(gè)預(yù)定義的實(shí)體引用:
| < | < | 小于 |
| > | > | 大于 |
| & | & | 和號(hào) |
| ' | ' | 單引號(hào) |
| " | " | 引號(hào) |
注釋:在 XML 中,只有字符 "<" 和 "&" 確實(shí)是非法的。大于號(hào)是合法的,但是用實(shí)體引用來代替它是一個(gè)好習(xí)慣。
7、XML 中的注釋
在 XML 中編寫注釋的語(yǔ)法與 HTML 的語(yǔ)法很相似:
<!-- This is a comment -->
8、XML 以 LF 存儲(chǔ)換行
在 Windows 應(yīng)用程序中,換行通常以一對(duì)字符來存儲(chǔ):回車符 (CR) 和換行符 (LF)。這對(duì)字符與打字機(jī)設(shè)置新行的動(dòng)作有相似之處。在 Unix 應(yīng)用程序中,新行以 LF 字符存儲(chǔ)。而 Macintosh 應(yīng)用程序使用 CR 來存儲(chǔ)新行。
新聞熱點(diǎn)
疑難解答
圖片精選