




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 XML語(yǔ)法lXML文檔的結(jié)構(gòu)lXML文檔的元素lXML元素的屬性lCDATA段lXML命名空間2.1 XML文檔的結(jié)構(gòu) 2.1.1 XML文檔的組成n XML文檔采用一種特殊的結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行存檔, 保證最大程度地方便解析器程序?qū)χM(jìn)行處理。n XML文檔應(yīng)該看做是一個(gè)邏輯實(shí)體而不是一個(gè)物 理實(shí)體,因?yàn)閄ML文檔并不是只可能保存在一臺(tái) 計(jì)算機(jī)中的一個(gè)物理文件里面。n 通常情況下,一個(gè)XML文檔可能分散在很多物理 文件中,這些物理文件中的一些也可能存在于不 同的計(jì)算機(jī)系統(tǒng)中。2.1 XML文檔的結(jié)構(gòu) 2.1.1 XML文檔的組成l 一個(gè)XML文檔由兩部分構(gòu)成:第一部分是文檔序言,第二部分是
2、文檔元素(節(jié)點(diǎn)),如下圖所示。2.1 XML文檔的結(jié)構(gòu)2.1.2 XML文檔的聲明l文檔聲明語(yǔ)句:包括聲明XML的版本號(hào)、所使用的字符集,以及是否是獨(dú)立文檔等信息。l在XML聲明的前面不允許再有任何其它的字符,甚至是空格,也就是說XML聲明必須是XML文檔中的第一個(gè)內(nèi)容。例如: 2.1.2 XML文檔的聲明l處理指令:由“”結(jié)束。l “xml”是處理指令名,用來標(biāo)識(shí)該文件是XML文檔(注意:“xml”必須小寫,并且XML文檔是大小寫敏感的,“xml”要緊挨左邊的“?“,之間無空格)l version=“1.0”:表示該文檔采用的是XML1.0版本,其版本號(hào)既可以用單引號(hào)也可以用雙引號(hào)來分隔,它
3、必須是“xml”之后的第一個(gè)屬性l“encoding=”gb2312“”:表示該文檔采用簡(jiǎn)體中文編碼GB2312 2.1 XML文檔的結(jié)構(gòu)2.1 XML文檔結(jié)構(gòu)2.1.2 XML文檔的聲明lstandalone屬性:該屬性的默認(rèn)值是 “no”l值為“yes”:表示該xml文檔未引用其他外部的DTD文件,相反,如果為“no”則表示xml文檔可能有這樣一個(gè)配套的DTD文檔:2.1 XML文檔結(jié)構(gòu)2.1.3 XML的處理指令lXML的處理指令:簡(jiǎn)稱PI,用來給處理它的應(yīng)用程序提供信息的元素。l當(dāng)應(yīng)用程序處理XML文檔時(shí),如果遇到處理指令會(huì)解釋這個(gè)指令,遵照它提供的信息進(jìn)行處理。l處理指令一般具有下列
4、語(yǔ)法格式: xml聲明就是一個(gè)處理指令: 2.1 XML文檔結(jié)構(gòu)2.1.4 XML文檔的注釋l注釋語(yǔ)句:以 “ ”結(jié)束。在這兩者之間,可以輸入除了雙連字符“-”之外任何想要說明的文字。l它只提供參考,永遠(yuǎn)不是真正的XML數(shù)據(jù),注釋用于對(duì)語(yǔ)句進(jìn)行某些提示或說明。2.1 XML文檔結(jié)構(gòu)2.1.4 XML文檔的注釋XML注釋語(yǔ)法如下: l注釋可以在元素標(biāo)記之外和xml聲明之后的任何地方添加;l可以放在文檔序言中;l可以插入到文檔元素之后;l還可以放在一個(gè)元素的內(nèi)容之間。2.1 XML文檔結(jié)構(gòu)2.1.4 XML文檔的注釋l使用注釋時(shí)需要注意的問題l注釋不可以出現(xiàn)在XML聲明之前,XML聲明必須是文檔的
5、首行。l在注釋文本中不能出現(xiàn)字符“-”或字符串“-”,以免XML處理器把它們和注釋結(jié)尾標(biāo)志“-”相混淆。 l不要把注釋文本放在標(biāo)記之中,否則,它就不是一個(gè)格式正確的XML文檔了。l注釋不能被嵌套。注釋文本中不能再包含另一個(gè)注釋。 2.2 XML文檔的元素2.2.1 元素的定義l元素是XML文檔內(nèi)容的基本單元l元素使用標(biāo)記進(jìn)行分隔l根元素:所有其它元素都包含在根元素中l(wèi) 元素的基本形式是: 元素內(nèi)容 例如:CD-10232.2 XML文檔的元素 2.2.1 元素的定義l XML的標(biāo)記和HTML的標(biāo)記形式上大體相同,包 含標(biāo)記名和零個(gè)或多個(gè)屬性,其基本形式為: l標(biāo)記必不可少。 l標(biāo)記名稱中含有英
6、文字母時(shí),大小寫有所區(qū)分。 l要有正確的結(jié)束標(biāo)記。lXML嚴(yán)格要求標(biāo)記配對(duì)。l標(biāo)記命名要合法。 2.2 XML文檔的元素2.3.1 元素的定義l非空元素l 絕大多數(shù)XML元素為非空元素,即在其起始標(biāo)記和結(jié)束標(biāo)記之間通常會(huì)有一定的內(nèi)容 l元素的內(nèi)容也稱為“元素的數(shù)據(jù)”,它可以是文本、也可以是該元素所包含的若干個(gè)子元素。l非空標(biāo)記必須由“開始標(biāo)記”與“結(jié)束標(biāo)記”組成,“開始標(biāo)記”與“結(jié)束標(biāo)記”之間是該標(biāo)記所標(biāo)記的內(nèi)容。 例如:例如: 男 張山 2.2 XML文檔的元素2.2.1 元素的定義l空元素l所謂空元素是指沒有內(nèi)容的元素,即在開始標(biāo)記與結(jié)束標(biāo)記之間沒有數(shù)據(jù)內(nèi)容的元素。所以空標(biāo)記不需要開始標(biāo)記
7、和結(jié)束標(biāo)記,空標(biāo)記以 “” 標(biāo)識(shí)結(jié)束 。例如: 2.2 XML文檔的元素2.2.2 元素的命名規(guī)則lXML元素標(biāo)記的命名規(guī)則如下:l標(biāo)記名字必須以英文字母或下劃線“_”開頭,中文標(biāo)記名稱必須以漢字或下劃線“_”開頭。l在使用默認(rèn)字符集的情況下,標(biāo)記名稱可由零個(gè)或多個(gè)字母、數(shù)字、句點(diǎn)“.”、冒號(hào)“:”、連字符(-),或下劃線“_”構(gòu)成。lXML解析器對(duì)標(biāo)記名稱中的英文字母大小寫是敏感的。l標(biāo)記名稱中不能含有空格。l標(biāo)記名稱中不能含有斜杠“/”。標(biāo)記的使用規(guī)則l有且只有一個(gè)根標(biāo)記l標(biāo)記必須配對(duì)使用l標(biāo)記必須嵌套使用l空標(biāo)記的使用:l標(biāo)記區(qū)分大小寫2.2 XML文檔的元素2.2.3 元素內(nèi)容的構(gòu)成l
8、構(gòu)成元素的內(nèi)容包括:l子元素l字符數(shù)據(jù)l字符引用和預(yù)定義實(shí)體引用 2.2 XML文檔的元素2.2.4 元素的特征l元素所封裝的內(nèi)容要求不僅僅是文檔的原始數(shù)據(jù),而且要包含其他的元素。l XML規(guī)范指出:一個(gè)格式正確的XML文檔必須明確地?fù)碛幸粋€(gè)唯一的頂層元素,該元素被稱為“文檔元素”或“根元素”,而其它所有的元素都被嵌套在這個(gè)元素之下。事實(shí)上,XML文檔中幾乎所有的元素都是以嵌套形式存在的。2.2 XML文檔的元素2.2.4 元素的特征l一個(gè)包含若干個(gè)嵌套元素的元素被稱為“父元素”(parent element);而一個(gè)直接包含在父元素之下的元素則稱為“該父元素的子元素”(child eleme
9、nt),如果不止一個(gè)子元素,則這些子元素互為兄弟。XML元素的特性l可擴(kuò)展性l父子關(guān)系l一個(gè)元素可包含不同類型的內(nèi)容l一個(gè)元素可包含不同類型的屬性2.3 XML文檔的屬性2.3.1 屬性的定義l屬性是元素的可選組成部分,用戶可以自己定義,其作用是對(duì)元素及其內(nèi)容的附加信息進(jìn)行描述,它由“”分割開的名稱數(shù)值對(duì)構(gòu)成。l在XML中,所有的屬性必須用引號(hào)括起來,屬性和屬性之間用空格隔開。2.3 XML文檔的屬性2.3.1 屬性的定義l對(duì)于非空元素,其屬性的定義格式如下: 數(shù)據(jù)內(nèi)容 l對(duì)于空元素,屬性的定義格式如下: 2.3 XML文檔的屬性2.3.1 屬性的定義l英文名稱必須以英文字母或者下劃線“_”開
10、頭,中文名稱必須以中文文字或者下劃線“_”開頭。l在使用默認(rèn)編碼集的情況下,名稱可以由英文字母、數(shù)字、下劃線“_”、連接符”“-”和點(diǎn)號(hào)“.”構(gòu)成。在指定編碼集的情況下,名稱中除上述字符外,還可以出現(xiàn)該字符集中的合法字符。 l名稱中不能含有空格。 l名稱中含有英文字母時(shí),對(duì)大小寫敏感。 l同一個(gè)元素不能有多個(gè)同名的屬性。 2.3 XML文檔的屬性2.3.2 屬性值的定義l屬性值的定義應(yīng)遵守下面規(guī)則:l屬性值字符串應(yīng)該使用半角的單引號(hào)或雙引號(hào)括起來。l屬性值的字符串中不能包含用來界定屬性值的引號(hào)。當(dāng)屬性值本身含有單引號(hào)時(shí),應(yīng)該用雙引號(hào)括起來;當(dāng)屬性值本身含有雙引號(hào)時(shí),應(yīng)該用單引號(hào)括起來。l屬性值
11、的字符串中不能包含“”、“&”、單引號(hào)和雙引號(hào)等字符,但可以使用實(shí)體引用。2.3 XML的屬性l每個(gè)屬性值只能指定一次,不分先后次序l屬性不是元素?cái)?shù)據(jù)的一部分,而是說明數(shù)據(jù)l屬性值必須用引號(hào)l屬性可存放數(shù)據(jù):XML元素的數(shù)據(jù)可存儲(chǔ)在子元素中,也可存儲(chǔ)在屬性中使用屬性還是子元素l描述一個(gè)元素的某個(gè)特征時(shí),使用子元素和屬性都是可行的l屬性相對(duì)于子元素有一定的局限性l屬性可擴(kuò)展性差l每個(gè)元素中同名屬性只能出現(xiàn)一次,而同名子元素則可以出現(xiàn)多次l元素和屬性不是純粹的父子關(guān)系,元素?zé)o法通過父子關(guān)系來引用其屬性使用屬性還是子元素l到底什么時(shí)候使用元素,什么時(shí)候使用屬性,并沒有固定要求和明確的界限。但
12、以下情況可以考慮使用屬性:l無須擴(kuò)展l要存儲(chǔ)的數(shù)據(jù)量不大l數(shù)據(jù)與元素關(guān)系特別密切l(wèi)與元素的關(guān)系是一一對(duì)應(yīng)2.4 CDATA標(biāo)記2.4.1 特殊字符的使用l特殊字符的使用方式:l 實(shí)體引用: &實(shí)體名;符號(hào)實(shí)體引用><& '"2.4.2 CDATA標(biāo)記lCDATA標(biāo)記的作用:通知XML語(yǔ)法解析器,該標(biāo)記中的所有內(nèi)容都要當(dāng)成純文本來解析,并原封不動(dòng)地將這段代碼傳給下一個(gè)XML應(yīng)用程序。l類似HTML中l(wèi)格式: 2.4.2 CDATA標(biāo)記lCDATA標(biāo)記的使用lCDATA標(biāo)記不可嵌套l當(dāng)需要將大塊文本內(nèi)容填充到元
13、素中時(shí),比較適合使用CDATA標(biāo)記。例如,網(wǎng)站的網(wǎng)友評(píng)論通常都使用CDATA標(biāo)記來實(shí)現(xiàn)。2.4 CDATA標(biāo)記2.4.2 CDATA的格式 !CDATA if xz then x=y-z 2.4 CDATA標(biāo)記2.4.2 CDATA的格式l若不用CDATA段表示,而是將其中“”符號(hào)改成實(shí)體引用,則如下所示: if x < y and y > z then x=y-z 2.4.3 CDATA的位置lCDATA段應(yīng)該遵守下列規(guī)則:lCDATA中不能包含字符串“”。lCDATA中不能再包含CDATA(即不能嵌套)。lCDATA段可以放置在元素內(nèi)容中字符數(shù)據(jù)出現(xiàn)的任何地方。
14、2.4 CDATA標(biāo)記2.5 XML名稱空間lXML是一種元標(biāo)記語(yǔ)言,允許用戶定義自己的標(biāo)記。因此,很可能出現(xiàn)名稱重復(fù)。lXML名稱空間:將XML文檔和URI(統(tǒng)一資源標(biāo)識(shí)符)引用標(biāo)記的名稱相結(jié)合,限定其中的元素和屬性名,以避免名稱之間發(fā)生沖突,實(shí)現(xiàn)名稱的唯一性。l名稱沖突問題例1 蘋果 香蕉 例2 飯桌 120公分 80公分 名稱沖突問題2.5 XML名稱空間l解決名稱沖突的方法是:在元素的開始標(biāo)簽中加前綴,再添加xmlns用來表示元素的屬性例1,修改為 例2,修改為 2.5 XML名稱空間l名稱空間的聲明:將一個(gè)唯一的標(biāo)識(shí)符號(hào)指定到一個(gè)URI或其他合法字符串上。l顯示聲明名稱空間的格式:或
15、l默認(rèn)聲明名稱空間的格式:顯示聲明示例 多媒體技術(shù)基礎(chǔ) 林福宗 37.00默認(rèn)聲明與顯示聲明示例 多媒體技術(shù)基礎(chǔ) 林福宗 37.00 清華大學(xué)出版社 7-302-05705-2 2.5 XML名稱空間l名稱空間應(yīng)該是一個(gè)統(tǒng)一資源標(biāo)識(shí)符URIl統(tǒng)一資源標(biāo)識(shí)符URI包括:l統(tǒng)一資源名URNl統(tǒng)一資源地址URLl名稱空間的范疇(作用范圍):聲明該名稱空間的元素及該元素的所有子元素,除非在該元素的某一個(gè)元素上又聲明了相同的名稱空間。 多媒體技術(shù)基礎(chǔ) 林福宗 37.00 清華大學(xué)出版社 7-302-05705-2 2.6 XML文檔類型lXML1.0規(guī)范指定了兩種類型的文檔l格式良好的XML文檔:嚴(yán)格遵守XML語(yǔ)法規(guī)則構(gòu)造的文檔,稱為格式良好的XML文檔。l有效的XML文檔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 套裝秋衣活動(dòng)策劃方案
- 女性圈層活動(dòng)方案
- 學(xué)校新春冬奧活動(dòng)方案
- 學(xué)校春節(jié)走基層活動(dòng)方案
- 娛樂創(chuàng)意活動(dòng)方案
- 女員工經(jīng)驗(yàn)交流活動(dòng)方案
- 娘家人職工文化活動(dòng)方案
- 孔橋小學(xué)端午節(jié)活動(dòng)方案
- 婚戀派對(duì)活動(dòng)方案
- 女閨蜜生日搞笑活動(dòng)方案
- 廣東省珠海市金灣區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期7月期末歷史試題
- 社會(huì)語(yǔ)言學(xué)視角下網(wǎng)絡(luò)流行用語(yǔ)研究
- 數(shù)據(jù)庫(kù)程序設(shè)計(jì)智慧樹知到期末考試答案章節(jié)答案2024年外交學(xué)院
- 中職數(shù)學(xué)單招一輪總復(fù)習(xí)《集合》復(fù)習(xí)課件
- 設(shè)計(jì)投標(biāo)服務(wù)方案
- 外來醫(yī)療器械清洗消毒
- 內(nèi)科學(xué)(廣東藥科大學(xué))智慧樹知到期末考試答案2024年
- 再回首混聲合唱譜
- 2023年11月南昌高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)人民檢察院招考4名聘用制檢察輔助人員筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 珍愛生命遠(yuǎn)離溺水風(fēng)險(xiǎn)
- 運(yùn)輸行業(yè)保密知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論