XML是什麼
Extensible Markup Language 可擴展標記語言
是一種元語言
爲什麼要XML?
- 設計與特定領域有關的標記語言
- 自描述數據
- 應用間交換數據
- 結構化和集成的數據
XML是用來描述數據的,重點是“數據是什麼”
XML優點
- 數據與格式分離,共享數據,讀取方便
- 自由的,可擴展的
- 面向對象的特性,XML的文件是以樹狀方式存儲,有屬性
XML缺陷
- 搜索的效率極高,但是插入和修改效率低
XML應用廣泛
- 設計標記語言、數據交換、數據共享、存儲數據、WEB應……
XML文件的邏輯結構——用XML聲明作爲開頭
<?xml version="1.0" encoding="GB2312" standalone="no" ?>三個屬性
- version屬性
在一個XML的處理指示中必須包括version屬性指明所採用的XML的版本號,而且,它必須在屬性列表中排在第一位。當前的XML的最新版本是1.0. - encoding屬性 (可選)
所有的XML語法分析器都要支持8位和16位的編碼標準。
幾個常見的編碼:簡體中文碼 (GB2312, gbk)、繁體中文碼(BIG5)、全球通用字符(UTF-8) - standalone屬性 (可選)
這個屬性表明該XML文件是否和一個獨立的標記聲明文件配套使用。因此,如果該屬性置爲”yes",說明不需要另外一個配套的DTD文件或者XSL文件。相反,如果這個屬性置爲”no",則有可能有這樣的文件。
什麼是“形式良好的”XML文件
嚴格要求嵌套、配對,只有一個根元素
XML文件的邏輯結構
- 用XML聲明作爲開頭
- 處理指示
- XML文件的精髓
XML元素
字符數據
標記 - CDATA
- 註釋
XML文件的邏輯結構——元素
- 元素的形式:< 標記>數據內容</標記>
- 元素中還可以再嵌套別的元素
- 所有的XML文件都至少包含-一個形式良好的根元素。根元素,又稱爲文件標記,緊跟在XML聲明之後,如果該XML文件中還內嵌了DTD,則這個根標記緊跟在DTD之後。根標記必須是一個非空的標記,其中包含了整個文件的數據內容。
- XML中開始和結束標記之間的文字稱作“字符數據”,而把標記內的標示文字稱作“標記”
XML文件的邏輯結構——字符數據
-
一對標記之間出現的字符數據可以是任何合法的字符
-
爲了避免把字符數據和標記中需要用到的一些特殊符號相混淆,XML還提供了一些有用的實體引用。
當在字符數據中需要使用這些特殊符號時,我們採用它的實體引用來代替。
> >
< <
& &
" "
' '
- 在“示例”這個標記中出現文本:“<姓名>張三</姓名>”
<示例> <姓名>張三</姓名> </示例>
- <STATEMENT VALUE = "She said, “Don’t go there!””>寫爲:
<STATEMENT VALUE = "She said, "Don't go there!"">
XML文件的邏輯結構一一標記
XML的標記和HTML的標記在模樣上大體相同,除了註釋和CDATA部分
以外,所有符號“<" 和符號“>”之間的內容都稱爲標記。其基本形式爲:<標記名(屬性名“屬性取值”)*>
- 標記必不可少
- 大小寫有所區分
- 要有正確的結束標記。
- 當一對標記之間沒有任何文本內容時,可以不寫結束標記,而在開始標記的最後慣以斜槓“/"來確認。這樣的標記稱爲“空標記”。如:
<HR/>
- 標記要正確嵌套
- 標記命名要合法
標記應該以字母、下劃線或冒號開頭,但是中間不能有空格,而且任何標記不能以“xml”起始.另外,最好不要在標記的開頭使用冒號,儘管它是合法的,但可能會帶來混淆。
在XML1.0標準中允許使用任何長度的標記,不過,現實中的xu處理程序可
能會要求標記的長度限制在一定範圍內。 - 有效使用屬性
標記中可以包含任意多個屬性。在標記中,屬性以名稱/取值對出現,屬性名不能重複,名稱與取值之間用等號“=”分隔,且取值用引號引起來。 如:<商品 類型=“服裝” 顏色=“黃色">
屬性命名的規範與標記命名規範大體相似,需要注意有效字母、大小寫等一系列問題。不過,在必要的時候,屬性中也可以包含空白符,標點和實體引用。需要特別注意的是,在xml中屬性的取值必須用引號引起來,但在HTML中這一點並不嚴格要求。
==屬性的所有賦值都被看作是字符串。==如: <圓柱體 半徑=“10”高=“13">
程序應該能夠把字符串“10”和“13”轉化爲它們所代表的數字.
XML文件的邏輯結構——註釋
- 在HTML中,註釋是用“<! --”和“–>”引起來的。
在XML中,註釋的方法完全相同。如:
<!-- <dd></dd>一個XML的例子-->
- XML處理器對於註釋中的一-切內容都會視而不見,註釋中出現的標記也一同被忽略。
- 在XML文件中使用註釋時,同樣要遵守幾個規則
在註釋文本中不能出現字符串“–”
不要把註釋文本放在標記之中,否則,它就不是一個“形式良好的”XML文件了。類似地,不要把註釋文本放在實體
聲明中,也不要放在XML聲明之前。 - 註釋不能被嵌套。
XML文件的邏輯結構一一處理指示
- 處理指示是用來給處理XML文件的應用程序提供信息的。
- 所有的處理指示應該遵循下面的格式:
<?處理指示名處理指示信息?>
- 一個處理指示來指定與這個XML文件配套使用的樣式單的類型及
文件名:
<?xml -stylesheet type=" text/xsl" href=' mystyle. xsl"?>
<!DOCTYPE Resume SYSTEM "03.dtd">
XML文件的邏輯結構——CDATA
在一個特殊的標記CDATA下,所有的標記、實體引用都被忽略,而被XML處理程序一視同仁地當作字符數據看待。
CDATA的形式如下:
<! [CDATA [ 文本內容]]>
CDATA的文本內容中是不能出現字符串“]]>”
<示例>
<聯繫人>
<姓名>張三</姓名>
< EMAIL > ; zhang@aaa. com< /EMAIL>
< /聯繫人>
</示例>
<示例>
<! [CDATA[
<聯繫人>
<姓名>張三</姓名>
</聯繫人>
<EMAIL> zhang@aa. com </EMAIL>
]] >
</示例>
XML命名空間( namespace)
- 融衆多元素命名於一體
- 命名衝突問題的解決
前綴標識法
如何聲明命名空間
什麼是合法名稱 - 命名空間的使用
命名空間作用於元素
命名空間作用於屬性