第2章格式良好的XML文檔_第1頁
第2章格式良好的XML文檔_第2頁
第2章格式良好的XML文檔_第3頁
第2章格式良好的XML文檔_第4頁
第2章格式良好的XML文檔_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、XML基礎教程第2章 格式良好的XML文檔第1頁第第2章章 格式良好的格式良好的XML文檔文檔本章概述 本章的學習目標主要內容XML基礎教程第2章 格式良好的XML文檔第2頁本章概述本章概述lXML文檔使用了自描述的和簡單的語法,熟悉文檔使用了自描述的和簡單的語法,熟悉HTML的讀者會發現的讀者會發現XML的語法和的語法和HTML非常相非常相似。本章重點介紹格式良好的似。本章重點介紹格式良好的XML文檔的定義規文檔的定義規則和語法,只有掌握了則和語法,只有掌握了XML文檔的規則才能定義文檔的規則才能定義出格式良好的出格式良好的XML文檔,并為進一步學習文檔,并為進一步學習XML的的深層知識打下

2、堅實的基礎。深層知識打下堅實的基礎。XML基礎教程第2章 格式良好的XML文檔第3頁本章的學習目標本章的學習目標lXML文檔的分類文檔的分類lXML文檔的結構文檔的結構lXML聲明的語法聲明的語法lXML元素的語法元素的語法lXML對特殊字符的處理對特殊字符的處理lXML的命名空間的命名空間XML基礎教程第2章 格式良好的XML文檔第4頁主要內容主要內容2.1 XML文檔的分類文檔的分類2.2XML文檔的整體結構文檔的整體結構2.3XML聲明聲明2.4XML文檔的處理指令和注釋文檔的處理指令和注釋2.5XML元素的基本規則元素的基本規則2.6實體引用和實體引用和CDATA段段2.7命名空間命名

3、空間2.8本章小結本章小結XML基礎教程第2章 格式良好的XML文檔第5頁2.1 XML文檔的分類文檔的分類 按照對按照對XML文檔規范的遵守程度,可將文檔規范的遵守程度,可將XML文檔文檔分為分為3種類型:種類型:l格式不良好(格式不良好(malformed)的)的XML文檔:完全沒文檔:完全沒有遵守有遵守XML文檔基本規則的文檔基本規則的XML文檔。文檔。l格式良好(格式良好(well-formed)但無效的)但無效的XML文檔。文檔。l有效(有效(valid)的)的XML文檔文檔。XML基礎教程第2章 格式良好的XML文檔2.1.1 格式不良好的格式不良好的XML文檔文檔第6頁標記語言的

4、發展歷史標記語言的發展歷史l這種這種XML文檔完全沒有遵守文檔完全沒有遵守XML文檔規則,是最文檔規則,是最差的差的XML文檔,它甚至不是一份結構化的文檔,文檔,它甚至不是一份結構化的文檔,因此不能正常轉換為樹狀結構。因此不能正常轉換為樹狀結構。XML基礎教程第2章 格式良好的XML文檔第7頁2.1.2 格式良好的格式良好的XML文檔文檔 格式良好但無效的格式良好但無效的XML文檔已經是一份結構化的文檔已經是一份結構化的文檔,因此可以將其轉換為樹狀結構。如果為格文檔,因此可以將其轉換為樹狀結構。如果為格式良好但無效的式良好但無效的XML文檔指定了文檔指定了DTD或或Schema定義的語義約束,

5、而且該文檔也遵守該語義約束,定義的語義約束,而且該文檔也遵守該語義約束,那么這份文檔就變成了有效的那么這份文檔就變成了有效的XML文檔。文檔。XML基礎教程第2章 格式良好的XML文檔2.2 XML文檔的整體結構文檔的整體結構 XML文檔由兩部份組成:即文檔序言和文文檔由兩部份組成:即文檔序言和文檔元素(或文檔節點)。序言出現在檔元素(或文檔節點)。序言出現在XML文檔的頂部,其中包含關于該文檔的一些文檔的頂部,其中包含關于該文檔的一些信息,類似于信息,類似于HTML文檔的文檔的部分。部分。序言部分必須包含一個序言部分必須包含一個XML聲明,還可以聲明,還可以包含注釋、處理指令或者包含注釋、處

6、理指令或者DTD。格式良好。格式良好的的XML文檔必須有一個文檔元素,用來包文檔必須有一個文檔元素,用來包含可能有的其它內容,文檔根元素可以包含可能有的其它內容,文檔根元素可以包含多個嵌套的子元素。含多個嵌套的子元素。第8頁XML基礎教程第2章 格式良好的XML文檔第9頁XML文檔的結構文檔的結構XML基礎教程第2章 格式良好的XML文檔 格式良好的格式良好的XML文檔,總的來說,應遵守文檔,總的來說,應遵守以下原則:以下原則:lXML文檔必須以一個文檔必須以一個XML聲明開始。聲明開始。lXML文檔有且只能有一個根元素。文檔有且只能有一個根元素。l開始標記和結束標記必須成對出現。開始標記和結

7、束標記必須成對出現。l各元素之間正確的嵌套。各元素之間正確的嵌套。lXML標記都是大小寫敏感的。標記都是大小寫敏感的。l屬性值必須使用引號屬性值必須使用引號。第10頁XML基礎教程第2章 格式良好的XML文檔第11頁2.3 XML聲明聲明 XML文檔的第一行通常是文檔的第一行通常是XML聲明,聲明聲明,聲明以以“”結束。聲明結束。聲明中包含了中包含了XML文檔的相關信息。上面文檔文檔的相關信息。上面文檔的第一行就是的第一行就是XML聲明:聲明: XML基礎教程第2章 格式良好的XML文檔第12頁2.3.1 XML聲明中的聲明中的version屬性屬性lXML聲明中的屬性聲明中的屬性“versi

8、on” 用于指出用于指出該該XML文件遵循哪個版本的文件遵循哪個版本的XML規范,一規范,一個個XML聲明可以只包含版本屬性。如果聲聲明可以只包含版本屬性。如果聲明中還包含其它屬性,則必須將版本屬性明中還包含其它屬性,則必須將版本屬性排在其它屬性之前。目前,版本屬性的值排在其它屬性之前。目前,版本屬性的值只可以取只可以取1.0,而,而XML的的1.1版本還沒有正版本還沒有正式公布式公布 。XML基礎教程第2章 格式良好的XML文檔第13頁2.3.2 XML聲明中的聲明中的encoding屬性屬性 lencoding屬性表示屬性表示XML文件所使用的編碼文件所使用的編碼標準,該屬性只可位于標準,

9、該屬性只可位于version屬性之后,屬性之后,但可以省略,省略時表示采用默認的但可以省略,省略時表示采用默認的UTF-8編碼方式。除此之外,常用的編碼方式還編碼方式。除此之外,常用的編碼方式還有:簡體中文的編碼方式有:簡體中文的編碼方式 “GB2312”,繁,繁體中文的編碼方式體中文的編碼方式“BIG5”等。等。XML基礎教程第2章 格式良好的XML文檔第14頁2.3.3 XML聲明中的聲明中的standalone屬性屬性lstandalone屬性用來說明屬性用來說明XML文件是否是文件是否是獨立的,即是否與其他文件相關聯,該屬獨立的,即是否與其他文件相關聯,該屬性可以為性可以為“yes”或

10、或“no”,默認值是,默認值是“no”。XML基礎教程第2章 格式良好的XML文檔第15頁2.4 XML文檔的處理指令和注釋文檔的處理指令和注釋 XML的處理指令簡稱的處理指令簡稱PI,其用途是給處理,其用途是給處理XML文檔的應用程序提供信息,告訴處理文檔的應用程序提供信息,告訴處理程序該如何處理該文檔。程序該如何處理該文檔。XML處理指令的處理指令的格式如下:格式如下: 或或XML基礎教程第2章 格式良好的XML文檔lXML文檔中可以使用注釋(文檔中可以使用注釋(Comment)對)對語句進行某些提示或說明,以增加文檔的語句進行某些提示或說明,以增加文檔的可讀性和清晰性。可讀性和清晰性。X

11、ML解析器不會對注釋解析器不會對注釋做任何處理,注釋中的內容在解析時會被做任何處理,注釋中的內容在解析時會被忽略。忽略。第16頁XML基礎教程第2章 格式良好的XML文檔 XML文檔中的注釋和文檔中的注釋和HTML文檔中的完全一文檔中的完全一樣,樣,XML中的注釋要滿足以下規則:中的注釋要滿足以下規則:l注釋以注釋以“”結束。結束。l注釋不可以出現在注釋不可以出現在XML聲明之前。聲明之前。l注釋不能出現在標記中。注釋不能出現在標記中。l注釋中不能出現連續的兩個連字符,即注釋中不能出現連續的兩個連字符,即“-”。l注釋不能嵌套。注釋不能嵌套。第17頁XML基礎教程第2章 格式良好的XML文檔第

12、18頁2.5 XML元素的基本規則元素的基本規則l元素是元素是XML文檔的基本單元,文檔的基本單元,XML文檔就文檔就是由一對對嵌套的元素所組成。整個是由一對對嵌套的元素所組成。整個XML文檔從根元素開始,根元素包含若干子元文檔從根元素開始,根元素包含若干子元素,而每個子元素又可以包含若干子元素素,而每個子元素又可以包含若干子元素,從而組織成龐大的,從而組織成龐大的XML文檔。文檔。XML基礎教程第2章 格式良好的XML文檔2.5.1 XML元素的命名規則元素的命名規則l與與HTML不同,不同,XML沒有預置任何元素,沒有預置任何元素,XML允許開發者自己定義元素。在允許開發者自己定義元素。在

13、XML中中,基本沒有什么保留字,所以可以隨心所,基本沒有什么保留字,所以可以隨心所欲地為元素命名欲地為元素命名。第19頁XML基礎教程第2章 格式良好的XML文檔 XML元素的命名必須遵守以下原則:元素的命名必須遵守以下原則:l名字中可以包含字母、數字、下劃線(名字中可以包含字母、數字、下劃線(_)、中劃線(、中劃線(-)、冒號()、冒號(:)和點號()和點號(.)。)。l名字必須以字母或下劃線(名字必須以字母或下劃線(_)開始。)開始。l名字不能以名字不能以XML(或者或者xml,Xml,xMl等任等任意大小寫組合意大小寫組合)開始。開始。第20頁XML基礎教程第2章 格式良好的XML文檔l

14、名字中不能包含空格。名字中不能包含空格。l名字中不能出現名字中不能出現XML保留的標識符,如保留的標識符,如“”等。等。l名字中盡可能不要使用冒號名字中盡可能不要使用冒號“:”,因為冒,因為冒號是為號是為“名字空間名字空間”(namespaces)預)預留的。留的。l盡量避免在名字中使用中劃線盡量避免在名字中使用中劃線“-” 和和 點點號號“.”,因為有的軟件不能正確識別。,因為有的軟件不能正確識別。第21頁XML基礎教程第2章 格式良好的XML文檔第22頁2.5.2 根元素根元素 根元素具有以下特點:根元素具有以下特點:l每個每個XML文檔必須有且只有一個根元素。文檔必須有且只有一個根元素。

15、l根元素是一個完全包括文檔中其他所有元根元素是一個完全包括文檔中其他所有元素的元素。素的元素。l根元素的起始標記要放在所有其他元素的根元素的起始標記要放在所有其他元素的起始標記之前。起始標記之前。l根元素的結束標記要放在所有其他元素的根元素的結束標記要放在所有其他元素的結束標記之后。結束標記之后。XML基礎教程第2章 格式良好的XML文檔2.5.3 元素的構成元素的構成 一個一個XML元素由一個開始標記、一個結束元素由一個開始標記、一個結束標記,以及夾在這兩個標記之間的數據內標記,以及夾在這兩個標記之間的數據內容所組成。其基本形式如下:容所組成。其基本形式如下: 數據內容數據內容第23頁XML

16、基礎教程第2章 格式良好的XML文檔 帶有屬性的帶有屬性的XML元素形式如下:元素形式如下: 數據內容數據內容第24頁XML基礎教程第2章 格式良好的XML文檔2.5.4 元素的嵌套元素的嵌套l非空元素包含的內容中既可以有文本數據非空元素包含的內容中既可以有文本數據也可以有子元素。當需要用也可以有子元素。當需要用“整體整體部部分分”關系來描述數據時,就可以使用非空關系來描述數據時,就可以使用非空元素和子元素。但是當一個元素中包含子元素和子元素。但是當一個元素中包含子元素時,有一個非常重要的要求元素時,有一個非常重要的要求它們它們之間必須正確地嵌套。也就是說,如果一之間必須正確地嵌套。也就是說,

17、如果一個元素在另一個元素內部開始,那么也必個元素在另一個元素內部開始,那么也必須在同一個元素內部結束。須在同一個元素內部結束。第25頁XML基礎教程第2章 格式良好的XML文檔 元素之間的嵌套規則總結如下:元素之間的嵌套規則總結如下:l父元素的起始標記必須在子元素的起始標父元素的起始標記必須在子元素的起始標記之前,父元素的結束標記必須在子元素記之前,父元素的結束標記必須在子元素的結束標記之后。元素間不可交叉嵌套。的結束標記之后。元素間不可交叉嵌套。l子元素與子元素間是兄弟關系。子元素與子元素間是兄弟關系。l兩元素之間不能既是父子關系又是兄弟關兩元素之間不能既是父子關系又是兄弟關系。系。第26頁

18、XML基礎教程第2章 格式良好的XML文檔2.5.5 元素的屬性元素的屬性 XML中的屬性也是由用戶自己定義的,屬中的屬性也是由用戶自己定義的,屬性可以為性可以為XML元素提供更多的信息。元素提供更多的信息。第27頁XML基礎教程第2章 格式良好的XML文檔 定義屬性時應注意以下幾點:定義屬性時應注意以下幾點:l屬性的命名規則同元素命名。屬性的命名規則同元素命名。l屬性值必須用引號括起來。屬性值必須用引號括起來。l屬性只能包含在開始標記中。屬性只能包含在開始標記中。l特定的屬性名稱在同一個元素中只能出現特定的屬性名稱在同一個元素中只能出現一次。一次。第28頁XML基礎教程第2章 格式良好的XM

19、L文檔2.6 實體引用和實體引用和CDATA段段lXML有有5種字符屬于特殊字符,包括:左尖種字符屬于特殊字符,包括:左尖括號括號 “”、與符號、與符號“&” 、單引號、單引號“ ”和雙引號和雙引號“ ”。對。對于這些特殊字符,于這些特殊字符,XML有特殊用途。所以有特殊用途。所以按按W3C制定的規范,文本數據中不可以含制定的規范,文本數據中不可以含有這些特殊字符。有這些特殊字符。 l要想在文本數據中使用這些特殊字符,可要想在文本數據中使用這些特殊字符,可以通過實體引用的方法。以通過實體引用的方法。第29頁XML基礎教程第2章 格式良好的XML文檔l如果文本內容中包含大量的如果文本內容

20、中包含大量的“”、“”、“&”、“”及及“”等特殊符號,需要等特殊符號,需要花費很大的力氣進行轉換,轉換后的文本花費很大的力氣進行轉換,轉換后的文本數據中就會出現很多實體引用,導致文本數據中就會出現很多實體引用,導致文本的可讀性變差,怎樣解決這個問題呢?在的可讀性變差,怎樣解決這個問題呢?在XML中,可以把這樣的文本包含到中,可以把這樣的文本包含到CDATA(Character Data)段中,包含在)段中,包含在CDATA段中的文本不會被段中的文本不會被XML解析器解析,直接解析器解析,直接提供給應用程序提供給應用程序。第30頁XML基礎教程第2章 格式良好的XML文檔2.7 命名空

21、間命名空間l當兩個標記的名字相同時,它們可以通過當兩個標記的名字相同時,它們可以通過隸屬不同的命名空間來相互區分。隸屬不同的命名空間來相互區分。l由此可見,命名空間只是為由此可見,命名空間只是為XML元素指定元素指定一個范圍而已。通過為一個范圍而已。通過為XML元素和屬性指元素和屬性指定命名空間,可以更好地區分不同范圍的定命名空間,可以更好地區分不同范圍的元素和屬性。元素和屬性。第31頁XML基礎教程第2章 格式良好的XML文檔2.7.1 有前綴和無前綴命名空間有前綴和無前綴命名空間l命名空間用來區分相同名稱的標記命名空間用來區分相同名稱的標記 ,XML的命名空間分為有前綴命名空間和無前綴的命名空間分為有前綴命名空間和無前綴命名空間。命名空間。l聲明有前綴的命名空間的語法如下:聲明有前綴的命名空間的語法如下: xmlns:前綴命名空間的名字前綴命名空間的名字l無前綴的命名空間的聲明語法如下:無前綴的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論