![]() ![]() 應寫為 ![]() ![]() 二.元素的語法 元素由一對標識以及其中的內容組成。就象這樣:ajie。元素的名稱和標識的名稱是一樣的。標識可以用屬性來進一步描述。 在XML中,沒有任何保留字,所以你可以隨心所欲的用任何詞語來作為元素名稱。但是也必須遵守下列規范: 1.名稱中可以包含字母、數字以及其它字母; 2.名稱不能以數字或"_" (下劃線)開頭; 3.名稱不能以字母 xml(或 XML 或 Xml ..)開頭 4.名稱中不能包含空格 5.名稱中間不能包含":"(冒號) 為了使元素更容易閱讀理解和操作,我們還有一些建議: 1.名稱中不要使用"."。因為在很多程序語言中,"."是作為對象的屬性,例如:font.color。同樣的原因"-"也最好不要用,必須使用的,以"_"代替; 2.名稱盡量簡短。 3.名稱的大小寫盡量采用同一標準。 4.名稱可以使用非英文字符,比如用中文。但是有些軟件可能不支持。(IE5目前是支持中文元素的。) 另外,補充一點關于屬性的說明。在HTML中,屬性可以用來定義元素的顯示格式,比如:word將把word顯示為紅色。而在XML中,屬性只是對標識的描述,與元素內容的顯示無關。例如同樣一句:word,并不會將word顯示為紅色。(那么,有網友會問:如何在XML中將文字顯示為紅色呢?這就需要使用CSS或者XSL,我們在下面詳細講述。) 三.注釋的語法 注釋是為了便于閱讀和理解,在XML文檔添加的附加信息,將不會被程序解釋或則瀏覽器顯示。 注釋的語法如下: 可以看到,它和HTML中的注釋語法是一樣的,非常容易。養成良好的注釋習慣將使你的文檔更加便于維護,共享,看起來也更專業。 四.CDATA的語法 CDATA全稱character data,翻譯為字符數據。我們在寫XML文檔時,有時需要顯示字母,數字和其它的符號本身,比如"<",而在XML中,這些字符已經有特殊的含義,我們怎么辦呢?這就需要用到CDATA語法。語法格式如下: 例如: ajie]]> 在頁面上顯示的內容將是"ajie" 五.Namespaces的語法 Namespaces翻譯為名字空間。名字空間有什么作用呢?當我們在一個XML文檔中使用他人的或者多個DTD文件,就會出現這樣的矛盾:因為XML中標識都是自己創建的,在不同的DTD文件中,標識名可能相同但表示的含義不同,這就可能引起數據混亂。 比如在一個文檔<table>wood table</table>中<table>表示桌子, 而在另一個文檔<table>namelist</table>中<table>表示表格。如果我需要同時處理這兩個文檔,就會發生名字沖突。 了解決這個問題,我們引進了namespaces這個概念。namespaces通過給標識名稱加一個網址(URL)定位的方法來區別這些名稱相同的標識。 Namespaces同樣需要在XML文檔的開頭部分聲明,聲明的語法如下: <document xmlns:yourname='URL'> 其中yourname是由你定義的namespaces的名稱,URL就是名字空間的網址。 假設上面的"桌子<table>"文檔來自http://www.zhuozi.com,我們就可以聲明為 <document xmlns:zhuozi='http://www.zhuozi.com'> 然后在后面的標識中使用定義好的名字空間: <zhuozi:table>wood table</table> 這樣就將這兩個<table>區分開來。注意的是:設置URL并不是說這個標識真的要到那個網址去讀取,僅僅作為一種區別的標志而已。 六.entity的語法 entity翻譯為"實體"。它的作用類似word中的"宏",也可以理解為DW中的摸板,你可以預先定義一個entity,然后在一個文檔中多次調用,或者在多個文檔中調用同一個entity。 entity可以包含字符,文字等等,使用entity的好處在于:1.它可以減少差錯,文檔中多個相同的部分只需要輸入一遍就可以了。2.它提高維護效率。比如你有40個文檔都包含copyright的entity,如果需要修改這個copyright,不需要所有的文件都修改,只要改最初定義的entity語句就可以了。 XML定義了兩種類型的entity。一種是我們這里說的普通entity,在XML文檔中使用;另一種是參數entity,在DTD文件中使用。 entity的定義語法為: <!DOCTYPE filename [ <!ENTITY entity-name "entity-content" ] > 例如我要定義一段版權信息: <!DOCTYPE copyright [ <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved" ] > 如果我的版權信息內容和他人共享一個XML文件,也可以使用外部調用的方法,語法象這樣: <!DOCTYPE copyright [ <!ENTITY copyright SYSTEM "http://www.sample.com/copyright.xml"> ] > 定義好的entity在文檔中的引用語法為:&entity-name; 例如,上面定義的版權信息,調用時寫作:©right; 完整的例子如下,你可以copy下來存為copyright.xml觀看實例: <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE copyright [ <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"> ]> <myfile> <title>XML</title> <author>ajie</author> <email>ajie@aolhoo.com</email> <date>20010115</date> ©right; </myfile> 五.Namespaces的語法 Namespaces翻譯為名字空間。名字空間有什么作用呢?當我們在一個XML文檔中使用他人的或者多個DTD文件,就會出現這樣的矛盾:因為XML中標識都是自己創建的,在不同的DTD文件中,標識名可能相同但表示的含義不同,這就可能引起數據混亂。 比如在一個文檔<table>wood table</table>中<table>表示桌子, 而在另一個文檔<table>namelist</table>中<table>表示表格。如果我需要同時處理這兩個文檔,就會發生名字沖突。 了解決這個問題,我們引進了namespaces這個概念。namespaces通過給標識名稱加一個網址(URL)定位的方法來區別這些名稱相同的標識。 Namespaces同樣需要在XML文檔的開頭部分聲明,聲明的語法如下: <document xmlns:yourname='URL'> 其中yourname是由你定義的namespaces的名稱,URL就是名字空間的網址。 假設上面的"桌子<table>"文檔來自http://www.zhuozi.com,我們就可以聲明為 <document xmlns:zhuozi='http://www.zhuozi.com'> 然后在后面的標識中使用定義好的名字空間: <zhuozi:table>wood table</table> 這樣就將這兩個<table>區分開來。注意的是:設置URL并不是說這個標識真的要到那個網址去讀取,僅僅作為一種區別的標志而已。 六.entity的語法 entity翻譯為"實體"。它的作用類似word中的"宏",也可以理解為DW中的摸板,你可以預先定義一個entity,然后在一個文檔中多次調用,或者在多個文檔中調用同一個entity。 entity可以包含字符,文字等等,使用entity的好處在于:1.它可以減少差錯,文檔中多個相同的部分只需要輸入一遍就可以了。2.它提高維護效率。比如你有40個文檔都包含copyright的entity,如果需要修改這個copyright,不需要所有的文件都修改,只要改最初定義的entity語句就可以了。 XML定義了兩種類型的entity。一種是我們這里說的普通entity,在XML文檔中使用;另一種是參數entity,在DTD文件中使用。 entity的定義語法為: <!DOCTYPE filename [ <!ENTITY entity-name "entity-content" ] > 例如我要定義一段版權信息: <!DOCTYPE copyright [ <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved" ] > 如果我的版權信息內容和他人共享一個XML文件,也可以使用外部調用的方法,語法象這樣: <!DOCTYPE copyright [ <!ENTITY copyright SYSTEM "http://www.sample.com/copyright.xml"> ] > 定義好的entity在文檔中的引用語法為:&entity-name; 例如,上面定義的版權信息,調用時寫作:©right; 完整的例子如下,你可以copy下來存為copyright.xml觀看實例: <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE copyright [ <!ENTITY copyright "Copyright 2001, Ajie. All rights reserved"> ]> <myfile> <title>XML</title> <author>ajie</author> <email>ajie@aolhoo.com</email> <date>20010115</date> ©right; </myfile> (出處:eNet學院) |
溫馨提示:喜歡本站的話,請收藏一下本站!