天天看點

XML 文法規則

XML 的文法規則很簡單,且很有邏輯。這些規則很容易學習,也很容易使用。

在 HTML,經常會看到沒有關閉标簽的元素:

在 XML 中,省略關閉标簽是非法的。所有元素都必須有關閉标簽:

注釋:您也許已經注意到 XML 聲明沒有關閉标簽。這不是錯誤。聲明不屬于XML本身的組成部分。它不是 XML 元素,也不需要關閉标簽。

XML 元素使用 XML 标簽進行定義。

XML 标簽對大小寫敏感。在 XML 中,标簽 <Letter> 與标簽 <letter> 是不同的。

必須使用相同的大小寫來編寫打開标簽和關閉标簽:

注釋:打開标簽和關閉标簽通常被稱為開始标簽和結束标簽。不論您喜歡哪種術語,它們的概念都是相同的。

在 HTML 中,常會看到沒有正确嵌套的元素:

在 XML 中,所有元素都必須彼此正确地嵌套:

在上例中,正确嵌套的意思是:由于 <i> 元素是在 <b> 元素内打開的,那麼它必須在 <b> 元素内關閉。

XML 文檔必須有一個元素是所有其他元素的父元素。該元素稱為根元素。

與 HTML 類似,XML 也可擁有屬性(名稱/值的對)。

在 XML 中,XML 的屬性值須加引号。請研究下面的兩個 XML 文檔。第一個是錯誤的,第二個是正确的:

在第一個文檔中的錯誤是,note 元素中的 date 屬性沒有加引号。

在 XML 中,一些字元擁有特殊的意義。

如果你把字元 "<" 放在 XML 元素中,會發生錯誤,這是因為解析器會把它當作新元素的開始。

這樣會産生 XML 錯誤:

為了避免這個錯誤,請用實體引用來代替 "<" 字元:

在 XML 中,有 5 個預定義的實體引用:

<

<

小于

>

>

大于

&

&

和号

'

'

單引号

"

"

引号

注釋:在 XML 中,隻有字元 "<" 和 "&" 确實是非法的。大于号是合法的,但是用實體引用來代替它是一個好習慣。

在 XML 中編寫注釋的文法與 HTML 的文法很相似:

HTML 會把多個連續的空格字元裁減(合并)為一個:

在 XML 中,文檔中的空格不會被删節。

在 Windows 應用程式中,換行通常以一對字元來存儲:回車符 (CR) 和換行符 (LF)。這對字元與打字機設定新行的動作有相似之處。在 Unix 應用程式中,新行以 LF 字元存儲。而 Macintosh 應用程式使用 CR 來存儲新行。