2014-02-13 35 views
4

this page,微軟表示,XML保留字符(和它們的實體)是以下物質:什麼是官方XML保留字符?

> > 
< &lt; 
& &amp; 
% &#37; 

但在this other page,我發現還'是保留字符(和它的實體是&apos;)。

有人能指出我在其中列出的所有,只有XML保留字符一些官方的參考?

+0

請閱讀上下文。這兩篇文章是關於不同的東西,只有一篇來自微軟。 –

+0

我沒有說的是,第二個是由微軟... –

回答

6

按照XML spec,作爲字符內容,而不是標記使用時必須轉義的字符只有&(如&amp;&#38;&#x26;)和<(如&lt;&#60;&#x3C;),加>當它是序列]]>的一部分。此外,單引號必須用單引號中的屬性值進行轉義(通常作爲&apos;)和雙引號(通常作爲&quot;)在雙引號的屬性值,並且未在用於序列化文檔的字符編碼所能表述的任何字符必須作爲合適的字符引用轉義。

你不要在單引號屬性中可以使用雙引號,反之亦然,但是如果你這樣做,它不會造成任何傷害。

當然,你可以如果你想,在不改變含義轉義字符內容中的每一個>"'(以及任何其他字符)。

+0

原因「%」是存在於微軟名單可能是因爲「%」,在DTD中某些情況下被保留。 –

5

XML沒有任何「保留字符」的概念。

它具有predefined entities,其代表了最可能(取決於上下文)的字符具有在XML文檔中具有特殊意義("<>&')。

這是因爲他們有特殊意義的地方是,你不能有數據的地方不具有命名爲空格字符或=實體。