最新《Web開發(fā)技術》—XML基礎_第1頁
最新《Web開發(fā)技術》—XML基礎_第2頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Web開發(fā)技術XML基礎 XML基礎 Web開發(fā)技術XML基礎 目標 了解什么是XML 掌握XML文檔結構 掌握XML文檔驗證 掌握XML名稱空間 掌握XML顯示和轉換技術 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 語義性差 HTML采用固定的標記集和固定的格式,其標記不能 表達出數(shù)據(jù)的意義,XML的標記是由用戶自定義的。 交互能力差 采用提交的方式請求服務器進行處理,并將結果傳回 給用戶,使得服務器負擔繁重,浪費了網(wǎng)絡帶寬和用 戶時間,XML可以在本地進行處理和顯示。 鏈接單調 超文本鏈接機制不能實現(xiàn)一些更加復雜的鏈接關系, 如多個目的端、多向鏈接。 1.1.1 HTML存在的問

2、題存在的問題 Web開發(fā)技術XML基礎 了解什么是了解什么是XML XML:可擴展的標記語言(Extensible Markup Language) HTML:超文本標記語言(HyperText Markup Language) SGML:標準通用標記語言(Standard Generalized Markup Language) XML是SGML的一個子集,是由SGML簡化而來。 HTML只使用了SGML中的很小的一部分標記,是SGML的 一個應用。 XML是W3C組織的推薦標準,第一個非正式版本誕生于 1996年11月,1998年2月W3C發(fā)布了XML1.0標準。 2000年10月W3C發(fā)

3、布了XML1.0第二版。2004年2月4 日W3C發(fā)布了XML1.0推薦標準第三版,即XML1.1,現(xiàn) 在使用的是XML1.0標準。 1.1.2 XML的產生的產生 Web開發(fā)技術XML基礎 了解什么是了解什么是XML W3C:World Wide Web Consortium,萬維網(wǎng)聯(lián)盟,成立于1994年 10月,以開放論壇的方式促進開發(fā)互通技術和網(wǎng)絡的全部潛能。 W3C不是官方組織,因此將其發(fā)布的規(guī)范成為推薦標準,因該 組織自身的權威性這些標準往往成為事實上的標準。 一項技術要成為W3C推薦標準,需經過以下七個步驟: 1、W3C收到提交 任何W3C成員都可以提交一個建議。 2、W3C發(fā)布注

4、釋 注釋是一個公開的文檔,是對建議的描述,是一個討論稿。 3、W3C成立工作組 W3C認可提交后,組織成員和感興趣的團隊成立工作組,確定 時間表,發(fā)布提議標準的工作草案。 4、W3C發(fā)布工作草案 W3C在 發(fā)布工作草案和一個公眾討論的邀請。 1.1.3 了解了解W3C組織組織 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 5、W3C發(fā)布侯選推薦標準 當規(guī)范比較復雜時,需要成員和軟件開發(fā)商花更多的時間來測試。 6、W3C發(fā)布提議的推薦標準 提議的推薦標準標志著工作組的工作已經進行到了最后階段,其 內容仍然可以被修改。 7、W3C發(fā)布推薦標準 推薦標準經W3C的成員審閱,由W3C的主任加蓋

5、正式批準圖章 而最終成為規(guī)范。推薦標準是一個穩(wěn)定的文檔,可以作為工作中 的參考資料。 由此可見,W3C對推薦標準的審查、批準的程序是比較復雜的,也 是十分嚴格的。 雖然W3C不是官方組織,但其發(fā)布的規(guī)范是權 威的,成為事實上的標準。 1.1.3 了解了解W3C組織組織 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 例1-1:test1.html HTML例子 HTML例子 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML A B C 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 從上面的

6、例子可以看出: 1、HTML的標記是固定的,而XML的標記是可以自己去創(chuàng)造新的標 記,且可以是中文標記,XML在設計之初就考慮到了國際化的問 題,XML同HTML4.01一樣,是基于ISO/IEC 10646字符集標準 中定義的通用字符集。 2、XML無現(xiàn)成的一套標記供選擇使用,完全需要我們自己去創(chuàng)建, XML是創(chuàng)建標記語言的元語言。 3、HTML文檔將數(shù)據(jù)、頁面的排版和頁面的表現(xiàn)形式混合在一起; 而XML只是用于描述數(shù)據(jù)和數(shù)據(jù)的結構,在XML文檔里并不指 定數(shù)據(jù)的顯示方式,因此同一份數(shù)據(jù)可以用于不同的場合,采用 不同的方式去顯示,真正做到了數(shù)據(jù)獨立于應用系統(tǒng),實現(xiàn)了數(shù) 據(jù)的可重用性。 4、H

7、TML文檔格式非常松散,導致了HTML文檔解析的復雜性和瀏 覽器的兼容性問題。XML從一開始就對文檔的格式制定了非常嚴 格的標準,凡是符合這一標準的XML文檔就是格式良好的XML 文檔(Well-Formed XML Documents)。 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 格式良好的XML文檔也稱為格式正確的XML文檔: 開始標簽必須要有一個結束標簽配套 在HTML里可以直接使用、等標簽,但在XML中,開始 標簽和結束標簽必須配套,即、。 空元素標簽必須被關閉 在HTML文檔里可以直接使用、標簽,在XML中空元素 必須采用 /

8、來關閉,如:、 所有的標簽都區(qū)分大小寫 在HTML文檔中標簽不區(qū)分大小寫,XML中的標簽嚴格區(qū)分大小 寫,且開始標簽和結束標簽的大小寫必須保持一致。 所有的標簽必須正確地嵌套,不允許出現(xiàn)交叉 在HTML文檔中,abcd是允許的;但在XML中, 所有的標簽都要成對出現(xiàn),不能交叉,正確形式為: abcd 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 所有標簽的屬性值必須采用引號括起來 在HTML文檔中,屬性值可以加引號也可以不加引號, 如:HTML例子和HTML例子都是合法的。但在XML 文檔中,即使是數(shù)字字符,屬性必須用引號(單引號 或雙引號都

9、可以)括起來,如: XML有且只能有一個根元素 在HTML文檔中,可以有多個根元素,如: 但在XML中有且只能有一個根元素,如: 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 所有標簽的屬性值必須采用引號括起來 在HTML文檔中,屬性值可以加引號也可以不加引號, 如:HTML例子和HTML例子都是合法的。但在XML 文檔中,即使是數(shù)字字符,屬性必須用引號(單引號 或雙引號都可以)括起來,如: XML有且只能有一個根元素 在HTML文檔中,可以有多個根元素,如: 但在XML中有且只能有一個根元素,如: 1.1.4 XML與與HTML之比較之比較

10、 Web開發(fā)技術XML基礎 了解什么是了解什么是XML 所有標簽的屬性值必須采用引號括起來 在HTML文檔中,屬性值可以加引號也可以不加引號, 如:HTML例子和HTML例子都是合法的。但在XML 文檔中,即使是數(shù)字字符,屬性必須用引號(單引號 或雙引號都可以)括起來,如: XML有且只能有一個根元素 在HTML文檔中,可以有多個根元素,如: 但在XML中有且只能有一個根元素,如: 1.1.4 XML與與HTML之比較之比較 Web開發(fā)技術XML基礎 了解什么是了解什么是XML XML文檔本身是純文本格式,因此可用以下工具 進行編輯。 1、NotePad(記事本) 2、EditPro 3、Ul

11、traEdit 4、XML Spy 5、XML Writer 1.1.5 XML編寫工具編寫工具 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 XML文檔大體上可分為兩個主要部分:序言 (prologue) 和文檔實例部分(Document instance)。 序言可以包括處理指令、XML聲明和架構聲明 (DTD、SCHEMA): 1.2 XML文檔組成文檔組成 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 XML文檔總是以一個XML聲明開始,必須位于文檔的第一行,且前 面不能有任何字符。格式如下: 其中 編碼信息 和 文檔獨立性信息 可選。 版本聲明 文檔編碼聲明 XML默認編碼方

12、式是UTF-8,要使用中文可在聲明中加上 encoding=“gb2312” 或 encoding=“GB2312” 均可。如: 獨立文檔聲明 指明是否依賴于外部文檔,standalone=“yes”聲明文檔是獨立的 文檔,如果文檔依賴于外部文檔,可以通過standalone=“no”來 聲明。如: 1.2.1 XML聲明聲明 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 DTD:Document Type Definition,文檔類型定義,用來定義 XML文檔中元素和屬性的規(guī)則及相互關系,XML繼承了 SGML的DTD機制。DTD也是一個文本文件,以.dtd為擴 展名。文檔類型聲明有兩

13、種形式,一種是直接在XML文檔 中給出DTD,如: !DOCTYPE data 另一種是聲明DTD在外部文件中,如: 1.2.2 文檔類型聲明文檔類型聲明 Web開發(fā)技術XML基礎 1.2.2: XML指令 用來給處理XML的應用程序提供信息的,解 析器將該信息原封不動傳遞給應用程序, 由應用程序來解釋這個指令,并按照它提 供的信息進行處理: XML文檔結構文檔結構 Web開發(fā)技術XML基礎 根元素: 包含文檔的數(shù)據(jù),以及描述數(shù)據(jù)結構的信息 有且只有一個根元素 XML文檔結構文檔結構 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 元素由開始標簽、元素內容和結束標簽構成。文檔的基本構 成單元

14、,可包含其它元素、字符數(shù)據(jù)、字符引用。沒有內 容的元素是空元素,由空元素標簽構成(如:),每 一個元素用一個名字標識,可以擁有屬性集, 每一個屬性是一個名值對。在給XML元素命名時需遵守命名 規(guī)范: 以字母、下劃線和冒號(:)開頭; 名稱中可以包含字母、數(shù)字、下劃線和其他在XML中允許 的字符; 名稱中不能包含空格 名稱中盡可能不要使用冒號,以免沖突 1.2.3 XML元素元素 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 空元素 無內容的元素即空元素,書寫的時候一定要寫(/)來關閉標簽。如: 帶屬性的元素 屬性是一個名值對,如: 帶內容的元素 中國 a 帶內容和屬性的元素 20 1.2.

15、4 XML元素形式元素形式 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 元素:XML元素是指開始標簽、結束標簽以及兩者之 間的任何內容。 標簽:是一對尖括號和兩者之間的內容。 如: 、均是標簽 則為data元素 1.2.5 XML元素和標簽元素和標簽 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 XML元素的內容可以包括子元素、字符數(shù)據(jù)、字符引用和實 體引用、CDATA段。 子元素 子元素是相對于父元素而言,子元素是嵌套在上層元素之內。如: A 字符數(shù)據(jù) 在一個元素的內容中,字符數(shù)據(jù)不能有和號( “ Web開發(fā)技術XML基礎 XML文檔結構文檔結構 字符引用和預定義實體引用都是以一個

16、和號()結束。 因此,如果想在XML元素內容中出現(xiàn),可以采用如下引用方式: 或 CDATA段 CDATA段中包含的都是純字符數(shù)據(jù),其內容不被XML處理器分析,因 此可以在其中包含任意的字符。CDATA段主要用于將整個文本解釋為 字符數(shù)據(jù)而不是標記的情況。CDATA段以 結束。如:test2.xml b) max=a; 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 例1-2:test3.xml: b) max=a; 當瀏覽器解釋時,發(fā)現(xiàn)元素內容中出現(xiàn)字符,因是CDATA段的 結 束定界符,所以會出現(xiàn)錯誤,可以通過在字符和之間插入空格或 者把 字符串分別放到

17、兩個CDATA段中。 當字符數(shù)據(jù)中含有少量的特殊字符,可以采用字符引用或預定義實體應用 的方式去引用。當遇到大量的特殊字符時,可以采用CDATA段進行處理。 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 注釋 XML注釋與HTML注釋類似,以 結束,位 于其中的數(shù)據(jù)將被XML處理器忽略。注釋可以出現(xiàn)在文檔 中其他標記之外的任何位置,還可以在文檔類型聲明語法 允許的地方出現(xiàn)。 1、注釋不能出現(xiàn)在XML聲明之前,以下情況不允許 ! note 2、注釋不能出現(xiàn)在標記中 如:data 3、注釋可以包圍和隱藏標記,在保證剩余的文本仍然是一個 結構完整的XML文檔。

18、 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 例1-3:test4.xml: !- - B 4、字符串“-” 不允許出現(xiàn)在注釋中。如: 5、在XML注釋中不允許以 “- - -”結尾。 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 處理指令(PI) PI:(Processing Instructions)處理指令允許文檔中包含由 應用程序來處理的指令。在XML中包含的一些非XML格式 化的數(shù)據(jù),這些數(shù)據(jù)XML處理器無法處理,可以通過才處 理指令來通知其他應用程序來處理。如使用樣式表的處理 指令如下: 空白處理 在

19、編寫XML文檔時經常使用空白(空格、制表符、空行) 來分隔標記,以獲得較好的可讀性。在XML文檔中,可以 在元素中使用一個特殊的屬性xml:space來通知應用程序 保留此元素中的空白。如: 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔結構文檔結構 行尾處理 XML數(shù)據(jù)以文本的方式保留在計算機文件中,以行來分隔。在XML空 白字符中,有兩個標準的ASCII碼行尾控制字符:回車(CR,#xA)和換 行(LF,#xD)。Windows:以#xD#xA作為行分隔符,linux、Unix以#xA 作為行分隔符,Mac OS:以#xD作為行分隔符。XML處理器在解析前, 要將

20、#xD#xA及#xD轉換成單個的#xA字符。 語言標識 通過在文檔中插入一個特殊的屬性xml:lang 來指出XML文檔中任何元 素和屬性的值所使用的語言。如: abcd 1.2.6 XML元素內容元素內容 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 DTD是用來定義一個XML文檔的結構及其允許的內容、元素 與元素之間關系的一種機制。 文檔類型聲明必須在XML聲明之后,且在根元素之前。在 XML聲明和文檔類型聲明之間可以插入注釋和處理指令。 在XML文檔中引入DTD有兩種方式: 1、直接在XML中定義DTD,如: !DOCTYPE data 1.3 XML文檔驗證文檔驗證 1.3.1 文

21、檔類型定義文檔類型定義(DTD) Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 DTD中所有的關鍵字都是大寫的,DTD中定義的元素大小寫是 任意指定的,但要保持一致。 2、外部DTD 在XML文檔類型聲明時,采用SYSTEM或PUBLIC關鍵字來指 出外部DTD文件的位置。語法如下: SYSTEM關鍵字表示文檔使用的是私有的DTD文件??梢允褂?相對路徑或絕對路徑來指定DTD文件路徑,DTD文件擴展名可 以不為.dtd,但一般采用.dtd。 1.3 XML文檔驗證文檔驗證 1.3.1 文檔類型定義文檔類型定義(DTD) Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 如: 使用PUBLI

22、C關鍵字聲明的語法如下: DTD的名稱成為公共標識符,DTD可以存放在某個公共的地方, XML處理程序會根據(jù)名稱按照某種方式去檢索DTD,如果檢索 不到,則使用“外部DTD文件的路徑”來查找該DTD。 1.3 XML文檔驗證文檔驗證 1.3.1 文檔類型定義文檔類型定義(DTD) Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 DTD名稱只能包含ASCII字母和數(shù)字字符、空格、回車符、換 行符和一些標點符合:-()+,./=:?;!*#$_%。公共DTD名稱需 遵守如下約定: ISO批準的DTD,名稱要以字符串“ISO”開始 非ISO標準組織批準的DTD,名稱以+開始。 非標準組織批準的DT

23、D,名稱以 開始。 格式如下: 約定符號/DTD所有者名字/DTD描述的文檔類型/語言標識符 如: -/jack/DTD EX 1.0/ZH 1.3 XML文檔驗證文檔驗證 1.3.1 文檔類型定義文檔類型定義(DTD) Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 如:HTML文檔常件的文檔類型定義: 1.3 XML文檔驗證文檔驗證 1.3.1 文檔類型定義文檔類型定義(DTD) Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 DTD的結構一般由元素類型聲明、屬性表聲明、實體聲明、記 號聲明等構成。 1、元素類型聲明 元素類型聲明說明了每個文檔中可能存在的元素,元素名稱及元素的具 體類

24、型。 元素類型聲明采用的語法格式如下: 元素內容說明包括以下5種可能的元素內容形式: PCDATA 關鍵字PCDATA說明元素包括字符數(shù)據(jù)。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 例1-3-2:test5.xml: !DOCTYPE book J2EE (2) 子元素 說明元素包含的是子元素,當一個元素只包含子元素而無字符 數(shù)據(jù)時,則稱此元素具有元素型內容。在該元素的類型聲明時, 采用內容模型來指定其在內容上的約束。內容模型是決定子元 素類型和子元素出現(xiàn)順序的一種簡單語法。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 例

25、1-3-2:test7.xml: !DOCTYPE book J2EE 清華大學出版社 30 用逗號隔開的一系列子元素成為一個序列,表示這些元素在文檔中要嚴格 按照序列的順序出現(xiàn)在文檔中。元素聲明的順序可以隨意安排。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 例1-3-2:test8.xml: !DOCTYPE book J2EE 清華大學出版社 30 張三 表明author元素必須要有one或two的其中一個子元素。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 例1-3-2:test9.xml: !DOCTYPE stud

26、ent 張三 20 足球 編程 *:表示可以出現(xiàn)零個或多個inter元素 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 +:表示可以出現(xiàn)一個或多個inter元素 ?:表示可以出現(xiàn)零個或一個inter元素 括號、逗號、豎線、星號、問號和加號可以進行組合, 說明很 復雜的內容模型。 如: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 (3) 混合內容 元素既可以包括字符數(shù)據(jù),也可以包括子元素,混合內容必須被定義零 個或多個。 例:1-3-2:test10.xml !DOCTYPE student xx 20 表示student可以包含

27、零個或多個字符數(shù)據(jù),包含零個或多個age子元素。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 在使用混合內容模型時,#PCDATA關鍵字必須是模型中的第 一個選項,不能在模型中使用逗號,問號或加號。 (4) EMPTY EMPTY關鍵字表明該元素既不包含字符數(shù)據(jù),也不包含子元 素,是一個空元素。如: (5) ANY ANY關鍵字表明該元素可以包含任何的字符數(shù)據(jù)和子元素。 如: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 2、實體聲明 對經常出現(xiàn)的、重復使用的內容可以采用定義實體,當XML處 理器對文檔進行分析處理后,引用實體的

28、位置會被實體所替換。 實體分一般實體和參數(shù)實體,一般實體是在文檔內容中使用的 實體,參數(shù)實體則是在DTD中使用的已分析的實體。 一般實體的聲明語法: 引用實體的方式為:“” 例:1-3-2:test11.xml 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 !DOCTYPE book 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 參數(shù)實體只能在DTD中使用,聲明語法如下: 引用實體的方式:“%實體名;” 例1-3-2:test12.dtd: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 test12

29、.xml: xx 內部實體和外部實體: 內部實體在XML文檔內部定義,實體的內容在聲明中給出。內 部實體都是已分析的實體。一般實體和參數(shù)實體可以成為內部 一般實體和內部參數(shù)實體。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 外部實體在單獨的文件中定義,外部實體可以是已分 析實體,也可以是未分析實體。外部一般實體的聲 明形式如下: a.xml內容如下: 2008,J2EE,All rights reserved 公共的外部一般實體聲明形式如下: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 3、屬性表聲明 聲明格式如下: 屬性類型

30、共有10種類型,默認聲明共有4種,默認聲明用于說 明在元素中該屬性是否必須出現(xiàn),如果不是必須出現(xiàn),當沒有 出現(xiàn)時,XML處理器該如何處理。 #REQUIRED 說明必須為該元素提供屬性,見 test13.xml。 #IMPLIED 說明該元素可以包含該屬性,也可以不包含該屬性。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 #FIXED 默認值 說明一個固定的屬性默認值,文檔的編寫者不能修改該屬性值。 例1-3-2:見test14.xml 只有默認值 用該種方式聲明的屬性可以被修改。 例1-3-2:見test15.xml 屬性類型 CDATA 表明屬性值為字符數(shù)

31、據(jù) 枚舉類型 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 如: ID、IDREF、IDREFS 一個ID類型的屬性值唯一標識XML文檔中的一個元素。 見test16.xml 通過IDREF可以建立元素之間的關系。見:test17.xml 如果一個屬性需要引用多個ID類型的屬性值,則可以聲明為 IDREFS類型。見:test18.xml ENTITY、ENTITIES ENTITY類型的屬性將外部的二進制數(shù)據(jù)鏈接到文檔, ENTITIES類型的屬性是將多個以空格分隔的ENTITY類型鏈接 至文檔。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔

32、驗證文檔驗證 如: 記號gif的聲明 采用引用圖像。 如果引用多個: 聲明為: 則采用引用圖像。 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 NMTOKEN、NMTOKENS(名稱標記) NMTOKEN名稱標記是任何字符的混合體,只能包含名稱字符, 不能包含空白字符。如限制書名不能有空格,聲明如下: NMTOKENS表示由多個名稱標記組成,各名稱標記之間采用 空格隔開。如: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 4、記號聲明 采用記號聲明,為非XML數(shù)據(jù)描述一種可能的格式或 指定一個 外部的處理程序。 記號聲明有兩種形式

33、: 一種是采用MIME類型,聲明如下: 另一種是采用URI路徑指出外部處理程序的路徑,聲 明如下: 1.3.2 DTD結構結構 Web開發(fā)技術XML基礎 XML文檔驗證文檔驗證 格式良好的XML文檔:遵守XML規(guī)范即可。 有效的XML文檔:遵守XML規(guī)范且遵守相應的DTD約 束。 1.4 有效的有效的XML Web開發(fā)技術XML基礎 DTD的缺點: 它使用自己的一套語法,與文檔實例的語法截然不同。 目前幾乎沒有解析器能夠簡便地訪問它們所處理的 DTD中的聲明; DTD提供的條件選擇結構不能實現(xiàn)動態(tài)創(chuàng)建DTD DTD是一種封閉的結構 DTD在數(shù)據(jù)類型信息方面也存在一定的缺陷。 DTD 文檔 We

34、b開發(fā)技術XML基礎 Schema的優(yōu)點: 更豐富的數(shù)據(jù)類型,支持布爾值、整數(shù)、日期和時間、統(tǒng) 一資源描述符(Uniform RestoreIdentifierURL)、整數(shù)、 小數(shù)、實數(shù)、時間間隔等。 支持用戶定義的類型(稱做原型archetype),這樣用戶 可以定義自己命名的數(shù)據(jù)類型。 支持屬性組,這使得模式作者可以顯式的定義幾個元素之 間的關系。 可精簡的原型或繼承關系,這允許出現(xiàn)比DTD定義的閉合 模型更有靈活性的內容模型。 支持命名空間支持,這使得使用了命名空間的文檔的確認 能夠更簡單 Schema 文檔 Web開發(fā)技術XML基礎 DTD vs Schema: Schema 文檔

35、Web開發(fā)技術XML基礎 DTD vs Schema: Schema 文檔 Web開發(fā)技術XML基礎 DTD vs Schema: Schema 文檔 Web開發(fā)技術XML基礎 DTD vs Schema: Tove Jani Reminder Dont forget me this weekend! Schema 文檔 Web開發(fā)技術XML基礎 轉成DTD Schema 文檔 Web開發(fā)技術XML基礎 轉成Schema Schema 文檔 Web開發(fā)技術XML基礎 Schema支持的原子類型 string:字符數(shù)據(jù) boolean:布爾值 date:日期 dateTime:當前時間,由日期和

36、時間構成 time:24小時格式的時間 decimal:任意精度和位數(shù)的十進制數(shù) integer:整數(shù) float:三十二位浮點數(shù) Schema 文檔 Web開發(fā)技術XML基礎 用于定義簡單數(shù)據(jù)類型規(guī)則的關鍵字 Schema 文檔 Web開發(fā)技術XML基礎 XML名稱空間名稱空間 在一個XML文檔中可以包含許多元素和屬性,當使用其 他人的XML文檔或在文檔中使用多個DTD文件時,可能 出現(xiàn)名稱相同的元素卻代表截然不同的含義,為了解決 這一問題,通過給元素或屬性加一名稱空間來唯一標識。 1.4.1 什么是什么是XML名稱空間名稱空間 1.4.2 XML名稱空間聲明名稱空間聲明 如: 采用來限定引

37、用 注意:xml、xmlns不能用于名稱空間前綴。 Web開發(fā)技術XML基礎 XML名稱空間名稱空間 (2) URI標識的是默認的名稱空間,屬性值可以為空。如: 例:1-4-1.xml,1-4-2.xml 一個元素可以有多個名稱空間前綴作為其屬性。 例:1-4-3.xml 1.4.2 XML名稱空間聲明名稱空間聲明 1.4.3 默認名稱空間聲明默認名稱空間聲明 采用無前綴名的xmlns屬性將默認的名稱空間附加給元素 及其子元素。 例:1-4-4.xml Web開發(fā)技術XML基礎 XML名稱空間名稱空間 可以給屬性添加名稱空間 例:1-4-5.xml 1.4.4 屬性添加名稱空間屬性添加名稱空間

38、 1.4.4 名稱空間與名稱空間與DTD 如果文檔中的元素使用了名稱空間,則DTD需要重寫。 例:1-4-6.xml 也可以使用默認的名稱空間 例:1-4-7.xml Web開發(fā)技術XML基礎 XML顯示和轉換顯示和轉換 CSS:Cascading Style Sheets,層疊樣式表。 通過處理指令,可以將CSS 應用于 XML文檔的顯示,也可以將多個CSS應用于單個 XML文檔。 例:1-5-1.css,1-5-1.xml 1.5.1 采用采用CSS顯示顯示XML Web開發(fā)技術XML基礎 XML顯示、轉換技術 基本思想: Web開發(fā)技術XML基礎 XSL:Extensible Style Lanuage,可擴展

溫馨提示

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

評論

0/150

提交評論