XML 語法
XML 的語法規則很簡單,且很有邏輯。 這些規則很容易學習,也很容易使用。
所有的XML 元素都必須有一個關閉標籤
在HTML 中,某些元素不必有一個關閉標籤:
<br>
在XML 中,省略關閉標籤是非法的。 所有元素都必須有關閉標籤:
<br />
註釋:從上面的實例中,您也許已經註意到XML聲明沒有關閉標籤。這不是錯誤。 聲明不是XML 文檔本身的一部分,它沒有關閉標籤。
XML 標籤對大小寫敏感
XML 標籤對大小寫敏感。 標籤<Letter> 與標籤<letter> 是不同的。
必須使用相同的大小寫來編寫打開標籤和關閉標籤:
<message>This is correct</message>
註釋:打開標籤和關閉標籤通常被稱為開始標籤和結束標籤。不論您喜歡哪種術語,它們的概念都是相同的。
XML 必須正確嵌套
在HTML 中,常會看到沒有正確嵌套的元素:
在XML中,所有元素都必須彼此正確地嵌套:
在上面的實例中,正確嵌套的意思是:由於<i> 元素是在<b> 元素內打開的,那麼它必須在<b> 元素內關閉。
XML 文檔必須有根元素
XML文檔必須有一個元素是所有其他元素的父元素 。 該元素稱為根元素 。
<child>
<subchild>.....</subchild>
</child>
</root>
XML 屬性值必須加引號
與HTML 類似,XML 元素也可擁有屬性(名稱/值的對)。
在XML 中,XML 的屬性值必須加引號。
請研究下面的兩個XML 文檔。 第一個是錯誤的,第二個是正確的:
<to>Tove</to>
<from>Jani</from>
</note>
<to>Tove</to>
<from>Jani</from>
</note>
在第一個文檔中的錯誤是,note 元素中的date 屬性沒有加引號。
實體引用
在XML 中,一些字符擁有特殊的意義。
如果您把字符"<" 放在XML 元素中,會發生錯誤,這是因為解析器會把它當作新元素的開始。
這樣會產生XML 錯誤:
為了避免這個錯誤,請用實體引用來代替"<"字符:
在XML 中,有5 個預定義的實體引用:
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
註釋:在XML中,只有字符"<"和"&"確實是非法的。大於號是合法的,但是用實體引用來代替它是一個好習慣。
XML 中的註釋
在XML 中編寫註釋的語法與HTML 的語法很相似。
<!-- This is a comment -->
在XML 中,空格會被保留
HTML 會把多個連續的空格字符裁減(合併)為一個:
HTML: | Hello Tove |
Output: | Hello Tove |
在XML 中,文檔中的空格不會被刪減。
XML 以LF 存儲換行
在Windows 應用程序中,換行通常以一對字符來存儲:回車符(CR)和換行符(LF)。
在Unix 和Mac OSX 中,使用LF 來存儲新行。
在舊的Mac 系統中,使用CR 來存儲新行。
XML 以LF 存儲換行。