XML對大小寫是敏感的
而在XML中,所有的元素都必須要有一個結束標記,如:
< p>This is a paragraph< /p>
< p>This is another paragraph< /p>
注意:從前面的例子中你可能已經注意到了,XML聲明沒有結束標記。這並不是一個錯誤。因為聲明並不是XML文檔的一部分。它不是一個XML元素,因此它不能有結束標記。
XML對大小寫是敏感的,這一點不象Html。在XML中,標記< Letter> 和標記 < letter> 是不一樣的。 因此,打開和結束標記的大小寫應該寫成相同的:
< Message>This is incorrect< /message>
< message>This is correct< /message>
所有的XML元素都必須合理嵌套
如果標記的嵌套不合理,在XML中是沒有意義的。 在Html中,有些元素可以被不適當地彼此嵌套,例如:
< b>< i>This text is bold and italic< /b>< /i>
而在XML ,所有元素都必須彼此合理地嵌套,例如:
< b>< i>This text is bold and italic< /i>< /b>
所有的XML文檔都必須要有一個根標記
在一個XML文檔中的第一個標記就是根標記。 所有的XML文檔都必須包含一個標記對來定義根元素。所有的其他元素都必須嵌套到根元素裡面。 所有的元素都可以有子元素。子元素都必須正確地嵌套到母元素中。
< root>
< child>
< subchild>.....< /subchild>
< /child>
< /root>
必須將屬性值引起來
在XML中,在屬性值周圍省略引號是非法的。 同Html一樣,XML元素的名/值對中可以有屬性。在XML中,屬性值必須引起來。看看下面的兩個XML文檔。 第一個是正確的,第二個是錯誤的:
< ?XML version="1.0"?>
< note date=12/11/99>
< to>Tove< /to>
< from>Jani< /from>
< heading>Reminder< /heading>
< body>Don't forget me this weekend!< /body>
< /note>
< ?XML version="1.0"?>
< note date="12/11/99">
< to>Tove< /to>
< from>Jani< /from>
< heading>Reminder< /heading>
< body>Don't forget me this weekend!< /body>
< /note>
文檔中的第一個錯誤是在note 元素中的數據屬性沒有引起來。 這樣是正確的: date="12/11/99"。 這樣是錯誤的: date=12/11/99。
在XML中,空格是保留的
在XML中,文檔的空格不能被刪除。 這一點不象HTML。在HTML中,這樣一句話: Hello my name is Tove, 將被顯示成這樣: Hello my name is Tove, 因為Html 把空格除去了。
在XML中, CR / LF被轉換成 LF
在XML中, 一個新行通常被存儲為 LF。 你知道什麼是打字機嗎?打字機是上個世紀使用的一種打字機器設備。 當你在打字機上打了一行以後,你要手動回車到左邊的空白,然後手動進紙。 在Windows 應用程序中,文本中的新一行通常存儲為CR LF 字符對。在Unix 應用程序中,新的一行通常被存儲為一個LF字符。而有些應用程序只用一個CR字符來存儲新行。
XML沒有什麼特別的
XML沒有什麼特別的。只不過是純文本文件加上一些包含在括號中XML標記。 能處理純文本的軟件也能處理XML。在一個簡單的文本編輯器中,XML標記是可視的,不需要什麼特別處理。但是在應用程序中,必須要特別處理XML標記。根據應用程序的性質,標記也許可視也許不可視,或者有其功能上的意義。