2.XML 聲明
<?xml version="1.0" encoding="ISO-8859-1"?>
定義了 XML 的版本和文檔中使用的字符編碼。在這個例子中,遵守的是 XML 1.0 規(guī)范,并使用了 ISO-8859-1 字符集。
3.XML元素命名規(guī)則
XML 元素必須遵守這些命名規(guī)則:
名字可包含字母、數(shù)字以及其他的字符
名字不能以數(shù)字或者標(biāo)點(diǎn)符號開始
名字不能以字符“xml”(或者XML、Xml)開始
名字不能包含空格
當(dāng)您“發(fā)明創(chuàng)造”元素名稱時,請留意并遵循下面的簡單規(guī)則:
您可以使用任何名稱,沒有保留字,但是理想的做法是使名稱具有描述性。使用下劃線的名稱也很不錯。
例子: <first_name>,<last_name>
應(yīng)該在名稱中避免"-"和"."。比方說,如果您將某個元素命名為"first-name",那么當(dāng)您的軟件試圖從first段來提取名稱時可能會出現(xiàn)混亂的局面?;蛘呷绻鷮⒛硞€元素命名為"first.name",您的軟件也許會認(rèn)為"name"是"first"對象的一個屬性。
元素名稱可以是你希望的任何長度,但是也不要太夸張。名稱應(yīng)當(dāng)比較簡短,比如:<book_title>,而不是:<the_title_of_the_book>。
XML 文檔經(jīng)常有一個對應(yīng)的數(shù)據(jù)庫,其中的域會對應(yīng) XML 文檔中的某個元素。有一個實(shí)用的經(jīng)驗(yàn),即使用數(shù)據(jù)庫的名稱規(guī)則命名 XML 文檔中的元素。
非英語的字母比如éòá也是合法的XML元素名,不過需要留意當(dāng)軟件開發(fā)商不支持這些字符時可能出現(xiàn)的問題。
不應(yīng)在 XML 元素名稱中使用 ":" ,這是由于它是用于命名空間(namespaces)的保留字。
4.避免使用屬性
我們應(yīng)當(dāng)避免使用屬性
因使用屬性而引起的一些問題:
屬性無法包含多個值(子元素可以)
屬性不易擴(kuò)展(為未來的變化)
屬性無法描述結(jié)構(gòu)(子元素可以)
屬性更難被編程代碼處理
不易通過某個 DTD 對屬性值進(jìn)行測試 - DTD(文檔類型定義Document Type Definition) 用來定義 XML 文檔的合法元素
如果您使用屬性作為數(shù)據(jù)的容器,那么就會造就難以閱讀和維護(hù)的文檔。請盡量使用元素來描述數(shù)據(jù)。而僅僅使用屬性來提供與數(shù)據(jù)無關(guān)的信息。
元數(shù)據(jù)(有關(guān)數(shù)據(jù)的數(shù)據(jù))應(yīng)當(dāng)存儲為屬性,而數(shù)據(jù)本身應(yīng)當(dāng)存儲為元素。
5.一個"形式良好"的 XML 文檔會遵守前幾章介紹過的 XML 語法規(guī)則:
XML 文檔必須有根元素
XML 文檔必須有關(guān)閉標(biāo)簽
XML 標(biāo)簽對大小寫敏感
XML 元素必須被正確的嵌套
XML 屬性必須加引號
6.XML文件如何鏈接到CSS
<?xml-stylesheet type="text/css" href="*.css"?>
注意:使用 CSS 格式化 XML 不能代表 XML 文檔樣式化的未來。XML 文檔應(yīng)當(dāng)使用 W3C 的 XSL 標(biāo)準(zhǔn)進(jìn)行格式化!
7.XML文件如何鏈接到XSL
<?xml-stylesheet type="text/xsl" href="*.xsl"?>
8.什么是XML數(shù)據(jù)島?
XML 數(shù)據(jù)島是嵌入 HTML 中的 XML 數(shù)據(jù)。
一個數(shù)據(jù)島實(shí)例:
<html>
<body>
<xml id="cdcat" src="/example/xmle/cd_catalog.xml"></xml>
//<table> 標(biāo)簽的 datasrc 屬性可以把 HTML 格元素綁定到 XML 數(shù)據(jù)島,這個 datasrc 屬性會引用數(shù)據(jù)島的 id 屬性
<table border="1" datasrc="#cdcat">
<thead>
<tr><th>Artist</th><th>Title</th></tr>
</thead>
<tfoot>
<tr><th colspan="2">This is my CD collection</th></tr>
</tfoot>
<tbody>
<tr>
//<td> 無法被綁定至數(shù)據(jù)島,所以我們使用了 <span> 標(biāo)簽,<span> 允許 datafld 屬性來引用需要顯示的XML元素
<td><span datafld="artist"></span></td>
<td><span datafld="title"></span></td>
</tr>
</tbody>
</table>
</body>
</html>
其中cd_catalog.xml文件內(nèi)容為:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
- <CATALOG>
- <CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
Artist | Title |
---|---|
This is my CD collection | |
Bob Dylan | Empire Burlesque |
Bonnie Tyler | Hide your heart |
Dolly Parton | Greatest Hits |
Gary Moore | Still got the blues |
Eros Ramazzotti | Eros |
Bee Gees | One night only |
Dr.Hook | Sylvias Mother |
Rod Stewart | Maggie May |
Andrea Bocelli | Romanza |
Percy Sledge | When a man loves a woman |
Savage Rose | Black angel |
Many | 1999 Grammy Nominees |
Kenny Rogers | For the good times |
Will Smith | Big Willie style |
Van Morrison | Tupelo Honey |
Jorn Hoel | Soulsville |
Cat Stevens | The very best of |
Sam Brown | Stop |
T'Pau | Bridge of Spies |
Tina Turner | Private Dancer |
Kim Larsen | Midt om natten |
Luciano Pavarotti | Pavarotti Gala Concert |
Otis Redding | The dock of the bay |
Simply Red | Picture book |
The Communards | Red |
Joe Cocker | Unchain my heart |