XML元素有簡單的命名規則。
XML文檔可以被擴展一邊攜帶更多的信息。
請看下面的XML便條例子:
<note><to>Lin</to><from>Ordm</from><body>Don't forget me this weekend!</body></note>
讓我們來設想一個能夠讀取此XML文檔的並能解讀其中XML元素(<to>, <from>, 和<body>)的軟件,可能的輸出如下:
MESSAGETo: Lin
From: Ordm
Don't forget me this weekend!
我們再來設想,如果便條的作者Ordm在這個XML文檔中加入一些額外的信息,如下所示:
<note><date>2002-12-24</date><to>Lin</to><from>Ordm</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
那麼原來的應用程序會中斷或者崩潰麼?
不會。應用程序仍然會正確的解讀<to>, <from>, 和<body> 等元素,並且產生同樣的輸出。
XML文檔是可以擴展的!
XML元素之間是父元素和子元素的關系。
為了更好的理解XML術語,必須了解XML元素之間的關系如何,以及元素的內容是如何被描述的。
設想有這樣一本書:
署名: XML 指南
第一章: XML入門簡介
第二章: XML語法
我們可以用XML文檔來描述這本書:
<book><title>XML 指南</title><prod id="33-657" media="paper"></prod>
<chapter>XML入門簡介<para>什麼是Html</para><para>什麼是XML</para></chapter><chapter>XML語法<para>XML元素必須有結束標記</para><para>XML元素必須正確的嵌套</para></chapter></book>
在上面的代碼中,Book元素是XML文檔的根元素,title元素和chapter元素是book元素的子元素。Book元素是title元素和chapter元素的父元素。title元素,prod元素和chapter元素是平級元素,因為他們都有同一個父元素。
XML元素有不同的內容。
XML元素指的是從該元素的開始標記到結束標記之間的這部分內容。
XML元素有元素內容,混合內容,簡單內容或者空內容。每個元素都可以擁有自己的屬性。
在上面的例子中,book元素有元素內容,應為book元素包含了其它的元素。Chapter元素有混合內容,因為它裡面包含了文本和其他元素。para元素有簡單的內容,因為它裡面僅有簡單的文本。prod元素有空內容,因為他不攜帶任何信息。
在上面的例子中,只有prod元素有屬性,id屬性值是33-657,media屬性值是paper。
XML元素命名必須遵守下面的規則:
自己“發明”的XML元素還必須注意下面一些簡單的規則:
任何的名字都可以使用,沒有保留字(除了XML),但是應該使元素的名字具有可讀性,名字使用下劃線是一個不錯的選擇。
例如: <first_name>, <last_name>.
盡量避免使用“-”,“.”,因為有可能引起混亂。
只要你願意元素的名字可以很長,但也不要太誇張了哦。命名應該遵循簡單易讀的原則,例如:<book_title>是一個不錯的名字,而<the_title_of_the_book>則顯得羅嗦了。
XML文檔往往都對應著數據表,我們應該盡量讓數據庫中的字段的命名和相應的XML文檔中的命名保持一致,這樣可以方便數據變換。
非英文/字符/字符串也可以作為XML元素的名字,例如<藍色理想><經典論壇>這都是完全合法的名字。但是有一些軟件不能很好的支持這種命名,所以盡量使用英文字母來命名。
在XML元素命名中不要使用":",因為XML命名空間需要用到這個十分特殊的字符。