




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、XML基礎(chǔ)教程第2章 格式良好的XML文檔第1頁第第2章章 格式良好的格式良好的XML文檔文檔本章概述 本章的學(xué)習(xí)目標(biāo)主要內(nèi)容XML基礎(chǔ)教程第2章 格式良好的XML文檔第2頁本章概述本章概述lXML文檔使用了自描述的和簡單的語法,熟悉文檔使用了自描述的和簡單的語法,熟悉HTML的讀者會發(fā)現(xiàn)的讀者會發(fā)現(xiàn)XML的語法和的語法和HTML非常相非常相似。本章重點(diǎn)介紹格式良好的似。本章重點(diǎn)介紹格式良好的XML文檔的定義規(guī)文檔的定義規(guī)則和語法,只有掌握了則和語法,只有掌握了XML文檔的規(guī)則才能定義文檔的規(guī)則才能定義出格式良好的出格式良好的XML文檔,并為進(jìn)一步學(xué)習(xí)文檔,并為進(jìn)一步學(xué)習(xí)XML的的深層知識打下
2、堅(jiān)實(shí)的基礎(chǔ)。深層知識打下堅(jiān)實(shí)的基礎(chǔ)。XML基礎(chǔ)教程第2章 格式良好的XML文檔第3頁本章的學(xué)習(xí)目標(biāo)本章的學(xué)習(xí)目標(biāo)lXML文檔的分類文檔的分類lXML文檔的結(jié)構(gòu)文檔的結(jié)構(gòu)lXML聲明的語法聲明的語法lXML元素的語法元素的語法lXML對特殊字符的處理對特殊字符的處理lXML的命名空間的命名空間XML基礎(chǔ)教程第2章 格式良好的XML文檔第4頁主要內(nèi)容主要內(nèi)容2.1 XML文檔的分類文檔的分類2.2XML文檔的整體結(jié)構(gòu)文檔的整體結(jié)構(gòu)2.3XML聲明聲明2.4XML文檔的處理指令和注釋文檔的處理指令和注釋2.5XML元素的基本規(guī)則元素的基本規(guī)則2.6實(shí)體引用和實(shí)體引用和CDATA段段2.7命名空間命名
3、空間2.8本章小結(jié)本章小結(jié)XML基礎(chǔ)教程第2章 格式良好的XML文檔第5頁2.1 XML文檔的分類文檔的分類 按照對按照對XML文檔規(guī)范的遵守程度,可將文檔規(guī)范的遵守程度,可將XML文檔文檔分為分為3種類型:種類型:l格式不良好(格式不良好(malformed)的)的XML文檔:完全沒文檔:完全沒有遵守有遵守XML文檔基本規(guī)則的文檔基本規(guī)則的XML文檔。文檔。l格式良好(格式良好(well-formed)但無效的)但無效的XML文檔。文檔。l有效(有效(valid)的)的XML文檔文檔。XML基礎(chǔ)教程第2章 格式良好的XML文檔2.1.1 格式不良好的格式不良好的XML文檔文檔第6頁標(biāo)記語言的
4、發(fā)展歷史標(biāo)記語言的發(fā)展歷史l這種這種XML文檔完全沒有遵守文檔完全沒有遵守XML文檔規(guī)則,是最文檔規(guī)則,是最差的差的XML文檔,它甚至不是一份結(jié)構(gòu)化的文檔,文檔,它甚至不是一份結(jié)構(gòu)化的文檔,因此不能正常轉(zhuǎn)換為樹狀結(jié)構(gòu)。因此不能正常轉(zhuǎn)換為樹狀結(jié)構(gòu)。XML基礎(chǔ)教程第2章 格式良好的XML文檔第7頁2.1.2 格式良好的格式良好的XML文檔文檔 格式良好但無效的格式良好但無效的XML文檔已經(jīng)是一份結(jié)構(gòu)化的文檔已經(jīng)是一份結(jié)構(gòu)化的文檔,因此可以將其轉(zhuǎn)換為樹狀結(jié)構(gòu)。如果為格文檔,因此可以將其轉(zhuǎn)換為樹狀結(jié)構(gòu)。如果為格式良好但無效的式良好但無效的XML文檔指定了文檔指定了DTD或或Schema定義的語義約束,
5、而且該文檔也遵守該語義約束,定義的語義約束,而且該文檔也遵守該語義約束,那么這份文檔就變成了有效的那么這份文檔就變成了有效的XML文檔。文檔。XML基礎(chǔ)教程第2章 格式良好的XML文檔2.2 XML文檔的整體結(jié)構(gòu)文檔的整體結(jié)構(gòu) XML文檔由兩部份組成:即文檔序言和文文檔由兩部份組成:即文檔序言和文檔元素(或文檔節(jié)點(diǎn))。序言出現(xiàn)在檔元素(或文檔節(jié)點(diǎn))。序言出現(xiàn)在XML文檔的頂部,其中包含關(guān)于該文檔的一些文檔的頂部,其中包含關(guān)于該文檔的一些信息,類似于信息,類似于HTML文檔的文檔的部分。部分。序言部分必須包含一個序言部分必須包含一個XML聲明,還可以聲明,還可以包含注釋、處理指令或者包含注釋、處
6、理指令或者DTD。格式良好。格式良好的的XML文檔必須有一個文檔元素,用來包文檔必須有一個文檔元素,用來包含可能有的其它內(nèi)容,文檔根元素可以包含可能有的其它內(nèi)容,文檔根元素可以包含多個嵌套的子元素。含多個嵌套的子元素。第8頁XML基礎(chǔ)教程第2章 格式良好的XML文檔第9頁XML文檔的結(jié)構(gòu)文檔的結(jié)構(gòu)XML基礎(chǔ)教程第2章 格式良好的XML文檔 格式良好的格式良好的XML文檔,總的來說,應(yīng)遵守文檔,總的來說,應(yīng)遵守以下原則:以下原則:lXML文檔必須以一個文檔必須以一個XML聲明開始。聲明開始。lXML文檔有且只能有一個根元素。文檔有且只能有一個根元素。l開始標(biāo)記和結(jié)束標(biāo)記必須成對出現(xiàn)。開始標(biāo)記和結(jié)
7、束標(biāo)記必須成對出現(xiàn)。l各元素之間正確的嵌套。各元素之間正確的嵌套。lXML標(biāo)記都是大小寫敏感的。標(biāo)記都是大小寫敏感的。l屬性值必須使用引號屬性值必須使用引號。第10頁XML基礎(chǔ)教程第2章 格式良好的XML文檔第11頁2.3 XML聲明聲明 XML文檔的第一行通常是文檔的第一行通常是XML聲明,聲明聲明,聲明以以“”結(jié)束。聲明結(jié)束。聲明中包含了中包含了XML文檔的相關(guān)信息。上面文檔文檔的相關(guān)信息。上面文檔的第一行就是的第一行就是XML聲明:聲明: XML基礎(chǔ)教程第2章 格式良好的XML文檔第12頁2.3.1 XML聲明中的聲明中的version屬性屬性lXML聲明中的屬性聲明中的屬性“versi
8、on” 用于指出用于指出該該XML文件遵循哪個版本的文件遵循哪個版本的XML規(guī)范,一規(guī)范,一個個XML聲明可以只包含版本屬性。如果聲聲明可以只包含版本屬性。如果聲明中還包含其它屬性,則必須將版本屬性明中還包含其它屬性,則必須將版本屬性排在其它屬性之前。目前,版本屬性的值排在其它屬性之前。目前,版本屬性的值只可以取只可以取1.0,而,而XML的的1.1版本還沒有正版本還沒有正式公布式公布 。XML基礎(chǔ)教程第2章 格式良好的XML文檔第13頁2.3.2 XML聲明中的聲明中的encoding屬性屬性 lencoding屬性表示屬性表示XML文件所使用的編碼文件所使用的編碼標(biāo)準(zhǔn),該屬性只可位于標(biāo)準(zhǔn),
9、該屬性只可位于version屬性之后,屬性之后,但可以省略,省略時表示采用默認(rèn)的但可以省略,省略時表示采用默認(rèn)的UTF-8編碼方式。除此之外,常用的編碼方式還編碼方式。除此之外,常用的編碼方式還有:簡體中文的編碼方式有:簡體中文的編碼方式 “GB2312”,繁,繁體中文的編碼方式體中文的編碼方式“BIG5”等。等。XML基礎(chǔ)教程第2章 格式良好的XML文檔第14頁2.3.3 XML聲明中的聲明中的standalone屬性屬性lstandalone屬性用來說明屬性用來說明XML文件是否是文件是否是獨(dú)立的,即是否與其他文件相關(guān)聯(lián),該屬獨(dú)立的,即是否與其他文件相關(guān)聯(lián),該屬性可以為性可以為“yes”或
10、或“no”,默認(rèn)值是,默認(rèn)值是“no”。XML基礎(chǔ)教程第2章 格式良好的XML文檔第15頁2.4 XML文檔的處理指令和注釋文檔的處理指令和注釋 XML的處理指令簡稱的處理指令簡稱PI,其用途是給處理,其用途是給處理XML文檔的應(yīng)用程序提供信息,告訴處理文檔的應(yīng)用程序提供信息,告訴處理程序該如何處理該文檔。程序該如何處理該文檔。XML處理指令的處理指令的格式如下:格式如下: 或或XML基礎(chǔ)教程第2章 格式良好的XML文檔lXML文檔中可以使用注釋(文檔中可以使用注釋(Comment)對)對語句進(jìn)行某些提示或說明,以增加文檔的語句進(jìn)行某些提示或說明,以增加文檔的可讀性和清晰性。可讀性和清晰性。X
11、ML解析器不會對注釋解析器不會對注釋做任何處理,注釋中的內(nèi)容在解析時會被做任何處理,注釋中的內(nèi)容在解析時會被忽略。忽略。第16頁XML基礎(chǔ)教程第2章 格式良好的XML文檔 XML文檔中的注釋和文檔中的注釋和HTML文檔中的完全一文檔中的完全一樣,樣,XML中的注釋要滿足以下規(guī)則:中的注釋要滿足以下規(guī)則:l注釋以注釋以“”結(jié)束。結(jié)束。l注釋不可以出現(xiàn)在注釋不可以出現(xiàn)在XML聲明之前。聲明之前。l注釋不能出現(xiàn)在標(biāo)記中。注釋不能出現(xiàn)在標(biāo)記中。l注釋中不能出現(xiàn)連續(xù)的兩個連字符,即注釋中不能出現(xiàn)連續(xù)的兩個連字符,即“-”。l注釋不能嵌套。注釋不能嵌套。第17頁XML基礎(chǔ)教程第2章 格式良好的XML文檔第
12、18頁2.5 XML元素的基本規(guī)則元素的基本規(guī)則l元素是元素是XML文檔的基本單元,文檔的基本單元,XML文檔就文檔就是由一對對嵌套的元素所組成。整個是由一對對嵌套的元素所組成。整個XML文檔從根元素開始,根元素包含若干子元文檔從根元素開始,根元素包含若干子元素,而每個子元素又可以包含若干子元素素,而每個子元素又可以包含若干子元素,從而組織成龐大的,從而組織成龐大的XML文檔。文檔。XML基礎(chǔ)教程第2章 格式良好的XML文檔2.5.1 XML元素的命名規(guī)則元素的命名規(guī)則l與與HTML不同,不同,XML沒有預(yù)置任何元素,沒有預(yù)置任何元素,XML允許開發(fā)者自己定義元素。在允許開發(fā)者自己定義元素。在
13、XML中中,基本沒有什么保留字,所以可以隨心所,基本沒有什么保留字,所以可以隨心所欲地為元素命名欲地為元素命名。第19頁XML基礎(chǔ)教程第2章 格式良好的XML文檔 XML元素的命名必須遵守以下原則:元素的命名必須遵守以下原則:l名字中可以包含字母、數(shù)字、下劃線(名字中可以包含字母、數(shù)字、下劃線(_)、中劃線(、中劃線(-)、冒號()、冒號(:)和點(diǎn)號()和點(diǎn)號(.)。)。l名字必須以字母或下劃線(名字必須以字母或下劃線(_)開始。)開始。l名字不能以名字不能以XML(或者或者xml,Xml,xMl等任等任意大小寫組合意大小寫組合)開始。開始。第20頁XML基礎(chǔ)教程第2章 格式良好的XML文檔l
14、名字中不能包含空格。名字中不能包含空格。l名字中不能出現(xiàn)名字中不能出現(xiàn)XML保留的標(biāo)識符,如保留的標(biāo)識符,如“”等。等。l名字中盡可能不要使用冒號名字中盡可能不要使用冒號“:”,因?yàn)槊埃驗(yàn)槊疤柺菫樘柺菫椤懊挚臻g名字空間”(namespaces)預(yù))預(yù)留的。留的。l盡量避免在名字中使用中劃線盡量避免在名字中使用中劃線“-” 和和 點(diǎn)點(diǎn)號號“.”,因?yàn)橛械能浖荒苷_識別。,因?yàn)橛械能浖荒苷_識別。第21頁XML基礎(chǔ)教程第2章 格式良好的XML文檔第22頁2.5.2 根元素根元素 根元素具有以下特點(diǎn):根元素具有以下特點(diǎn):l每個每個XML文檔必須有且只有一個根元素。文檔必須有且只有一個根元素。
15、l根元素是一個完全包括文檔中其他所有元根元素是一個完全包括文檔中其他所有元素的元素。素的元素。l根元素的起始標(biāo)記要放在所有其他元素的根元素的起始標(biāo)記要放在所有其他元素的起始標(biāo)記之前。起始標(biāo)記之前。l根元素的結(jié)束標(biāo)記要放在所有其他元素的根元素的結(jié)束標(biāo)記要放在所有其他元素的結(jié)束標(biāo)記之后。結(jié)束標(biāo)記之后。XML基礎(chǔ)教程第2章 格式良好的XML文檔2.5.3 元素的構(gòu)成元素的構(gòu)成 一個一個XML元素由一個開始標(biāo)記、一個結(jié)束元素由一個開始標(biāo)記、一個結(jié)束標(biāo)記,以及夾在這兩個標(biāo)記之間的數(shù)據(jù)內(nèi)標(biāo)記,以及夾在這兩個標(biāo)記之間的數(shù)據(jù)內(nèi)容所組成。其基本形式如下:容所組成。其基本形式如下: 數(shù)據(jù)內(nèi)容數(shù)據(jù)內(nèi)容第23頁XML
16、基礎(chǔ)教程第2章 格式良好的XML文檔 帶有屬性的帶有屬性的XML元素形式如下:元素形式如下: 數(shù)據(jù)內(nèi)容數(shù)據(jù)內(nèi)容第24頁XML基礎(chǔ)教程第2章 格式良好的XML文檔2.5.4 元素的嵌套元素的嵌套l非空元素包含的內(nèi)容中既可以有文本數(shù)據(jù)非空元素包含的內(nèi)容中既可以有文本數(shù)據(jù)也可以有子元素。當(dāng)需要用也可以有子元素。當(dāng)需要用“整體整體部部分分”關(guān)系來描述數(shù)據(jù)時,就可以使用非空關(guān)系來描述數(shù)據(jù)時,就可以使用非空元素和子元素。但是當(dāng)一個元素中包含子元素和子元素。但是當(dāng)一個元素中包含子元素時,有一個非常重要的要求元素時,有一個非常重要的要求它們它們之間必須正確地嵌套。也就是說,如果一之間必須正確地嵌套。也就是說,
17、如果一個元素在另一個元素內(nèi)部開始,那么也必個元素在另一個元素內(nèi)部開始,那么也必須在同一個元素內(nèi)部結(jié)束。須在同一個元素內(nèi)部結(jié)束。第25頁XML基礎(chǔ)教程第2章 格式良好的XML文檔 元素之間的嵌套規(guī)則總結(jié)如下:元素之間的嵌套規(guī)則總結(jié)如下:l父元素的起始標(biāo)記必須在子元素的起始標(biāo)父元素的起始標(biāo)記必須在子元素的起始標(biāo)記之前,父元素的結(jié)束標(biāo)記必須在子元素記之前,父元素的結(jié)束標(biāo)記必須在子元素的結(jié)束標(biāo)記之后。元素間不可交叉嵌套。的結(jié)束標(biāo)記之后。元素間不可交叉嵌套。l子元素與子元素間是兄弟關(guān)系。子元素與子元素間是兄弟關(guān)系。l兩元素之間不能既是父子關(guān)系又是兄弟關(guān)兩元素之間不能既是父子關(guān)系又是兄弟關(guān)系。系。第26頁
18、XML基礎(chǔ)教程第2章 格式良好的XML文檔2.5.5 元素的屬性元素的屬性 XML中的屬性也是由用戶自己定義的,屬中的屬性也是由用戶自己定義的,屬性可以為性可以為XML元素提供更多的信息。元素提供更多的信息。第27頁XML基礎(chǔ)教程第2章 格式良好的XML文檔 定義屬性時應(yīng)注意以下幾點(diǎn):定義屬性時應(yīng)注意以下幾點(diǎn):l屬性的命名規(guī)則同元素命名。屬性的命名規(guī)則同元素命名。l屬性值必須用引號括起來。屬性值必須用引號括起來。l屬性只能包含在開始標(biāo)記中。屬性只能包含在開始標(biāo)記中。l特定的屬性名稱在同一個元素中只能出現(xiàn)特定的屬性名稱在同一個元素中只能出現(xiàn)一次。一次。第28頁XML基礎(chǔ)教程第2章 格式良好的XM
19、L文檔2.6 實(shí)體引用和實(shí)體引用和CDATA段段lXML有有5種字符屬于特殊字符,包括:左尖種字符屬于特殊字符,包括:左尖括號括號 “”、與符號、與符號“&” 、單引號、單引號“ ”和雙引號和雙引號“ ”。對。對于這些特殊字符,于這些特殊字符,XML有特殊用途。所以有特殊用途。所以按按W3C制定的規(guī)范,文本數(shù)據(jù)中不可以含制定的規(guī)范,文本數(shù)據(jù)中不可以含有這些特殊字符。有這些特殊字符。 l要想在文本數(shù)據(jù)中使用這些特殊字符,可要想在文本數(shù)據(jù)中使用這些特殊字符,可以通過實(shí)體引用的方法。以通過實(shí)體引用的方法。第29頁XML基礎(chǔ)教程第2章 格式良好的XML文檔l如果文本內(nèi)容中包含大量的如果文本內(nèi)容
20、中包含大量的“”、“”、“&”、“”及及“”等特殊符號,需要等特殊符號,需要花費(fèi)很大的力氣進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的文本花費(fèi)很大的力氣進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的文本數(shù)據(jù)中就會出現(xiàn)很多實(shí)體引用,導(dǎo)致文本數(shù)據(jù)中就會出現(xiàn)很多實(shí)體引用,導(dǎo)致文本的可讀性變差,怎樣解決這個問題呢?在的可讀性變差,怎樣解決這個問題呢?在XML中,可以把這樣的文本包含到中,可以把這樣的文本包含到CDATA(Character Data)段中,包含在)段中,包含在CDATA段中的文本不會被段中的文本不會被XML解析器解析,直接解析器解析,直接提供給應(yīng)用程序提供給應(yīng)用程序。第30頁XML基礎(chǔ)教程第2章 格式良好的XML文檔2.7 命名空
21、間命名空間l當(dāng)兩個標(biāo)記的名字相同時,它們可以通過當(dāng)兩個標(biāo)記的名字相同時,它們可以通過隸屬不同的命名空間來相互區(qū)分。隸屬不同的命名空間來相互區(qū)分。l由此可見,命名空間只是為由此可見,命名空間只是為XML元素指定元素指定一個范圍而已。通過為一個范圍而已。通過為XML元素和屬性指元素和屬性指定命名空間,可以更好地區(qū)分不同范圍的定命名空間,可以更好地區(qū)分不同范圍的元素和屬性。元素和屬性。第31頁XML基礎(chǔ)教程第2章 格式良好的XML文檔2.7.1 有前綴和無前綴命名空間有前綴和無前綴命名空間l命名空間用來區(qū)分相同名稱的標(biāo)記命名空間用來區(qū)分相同名稱的標(biāo)記 ,XML的命名空間分為有前綴命名空間和無前綴的命名空間分為有前綴命名空間和無前綴命名空間。命名空間。l聲明有前綴的命名空間的語法如下:聲明有前綴的命名空間的語法如下: xmlns:前綴命名空間的名字前綴命名空間的名字l無前綴的命名空間的聲明語法如下:無前綴的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智源小學(xué)測試題及答案
- 化工常用面試題及答案
- 慢性病健康管理培訓(xùn)
- 呼吸內(nèi)科2025年工作總結(jié)
- 闌尾炎病人術(shù)后健康指導(dǎo)
- 員工培訓(xùn)發(fā)展
- 智能化工程驗(yàn)收規(guī)范培訓(xùn)
- 兒科急性喉炎課件
- 中班健康身體的小秘密
- 支氣管肺炎的病理變化
- 2025年人教部編版語文五年級下冊期末檢測真題及答案(2套)
- 《中醫(yī)養(yǎng)生學(xué)》課件-八段錦
- 湖南省長沙市雨花區(qū)2023-2024學(xué)年五年級下學(xué)期期末考試英語試題
- 統(tǒng)計學(xué)原理賈俊平期末考試重點(diǎn)
- 二年級《時間單位換算口算題(共100道)》專題練習(xí)訓(xùn)練
- 病理科-生物安全管理制度
- 空壓機(jī)保修手冊
- 光伏并網(wǎng)建模與仿真
- 工業(yè)機(jī)器人編程與實(shí)操期末精彩試題
- 管片破損修補(bǔ)及接縫滲漏水防治施工方案
- 《聲音的數(shù)字化》PPT課件.ppt
評論
0/150
提交評論