版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、XML驗證技術(shù)Schema,本課目標(biāo),命名空間 XML Schema簡介 XML Schema的兩種模式 W3C Schema W3C XML Schema完整的示例 W3C Schema的數(shù)據(jù)類型 簡單數(shù)據(jù)類型 復(fù)雜數(shù)據(jù)類型 W3C Schema元素屬性聲明 W3C Schema元素聲明 W3C Schema屬性聲明 元素、 屬性綜合例題 引入外部模式文檔 W3C的幾種命名空間 小結(jié),命名空間,Namespaces翻譯為名字空間或命名空間。 當(dāng)我們在一個XML文檔中使用他人的或者多個DTD文件,就會出現(xiàn)這樣的矛盾:因為XML中標(biāo)識都是自己創(chuàng)建的,在不同的DTD文件中,標(biāo)識名可能相同但表示的含
2、義不同,這就可能引起數(shù)據(jù)混亂。 例如:在一個文檔中wood table中表示桌子,而在另一個文檔namelist中表示表格。如果我需要同時處理這兩個文檔,就會發(fā)生名字沖突。,XML命名空間是XML解決元素多義性和名字沖突問題的方案。 W3C組織的推薦用書對XML命名空間的解釋是:“XML命名空間是命名的匯集,它由URI(統(tǒng)一資源標(biāo)識)確定,在XML文件中作為元素標(biāo)識和屬性名使用”。 命名空間是名稱上相關(guān)的一組名稱的匯集,在同一空間中每一個名稱都必須唯一。例如,可以將某個班的學(xué)生姓名作為一個命名空間,也可以將某企業(yè)的產(chǎn)品名稱作為一個命名空間。 命名空間表示了名稱的來源和使用范圍。通過命名空間可以
3、區(qū)分來自不同的XML應(yīng)用但具有相同名稱的標(biāo)識,可以把來自某種XML應(yīng)用的相關(guān)元素和屬性集合在一起,以方便軟件識別和處理。,命名空間,命名空間,namespaces通過給標(biāo)識名稱加一個網(wǎng)址(URL)定位的方法來區(qū)別這些名稱相同的標(biāo)識。 命名空間一般用屬性xmlns來聲明,聲明的語法如下: xmlns:命名空間屬性名,是聲明命名空間必需的屬性。 prefix:命名空間的前綴,它的值不能為XML。在引用此命名空間中的名稱時,需要在名稱前加“prefix: ”。 URI:統(tǒng)一資源標(biāo)示符(Uniform Resource Identifier),是一個標(biāo)識網(wǎng)絡(luò)資源的字符串。最普通的URI應(yīng)該是統(tǒng)一資源定
4、位符(Uniform Resource Locator ,URL),URL用于標(biāo)識網(wǎng)絡(luò)主機的地址。另一個不常用的URI是通用資源名字(Universal Resource Name ,URN),這是一個相對固定的地址。,命名空間,引用此名空間中的元素、屬性的方法:前綴名:元素名 或 前綴名:屬性名 聲明時若前綴名省略,則聲明的是缺省的空間,引用缺省名空間中的元素、屬性時可不加前綴名;默認(rèn)的命名空間的聲明語法格式為: , this is element use default namespace prefix this is element use ss1 namespace prefix th
5、is is element use qinghua namespaceprefix ,在根元素處定義名空間屬性,使用缺省名空間,使用指定名空間,命名空間,命名空間,一般命名空間在根元素處聲明; 命名空間作用于它所在的元素及該元素內(nèi)部所有子元素。 如果子元素又聲明了新命名空間,且使用與原命名空間相同的前綴但URI不同時,新命名空間將覆蓋原來的命名空間。 默認(rèn)的命名空間不作用于屬性(非默認(rèn)的命名空間作用之);默認(rèn)的命名空間如果遇到空值,下級命名空間將被取消。,命名空間, 覆蓋原來的命名空間 此元素不屬于任何命名空間 此元素超出了命名空間作用域 ,此元素的命名空間是: ,此元素不屬于任何命名空間,此
6、屬性不屬于任何命名空間,此元素超出了命名空間作用域,返回到目標(biāo),XML Schema簡介,Schema與DTD的關(guān)系 Schema與DTD的作用相同,它們各自以不同的方式來描述XML文檔結(jié)構(gòu),都用于文檔驗證。,XML Schema簡介,Schema與DTD的比較 DTD使用EBNF語法,Schema基于XML語法。Schema可以像其他XML文檔一樣被解析和處理 DTD描述的是XML文件的結(jié)構(gòu),而非元素內(nèi)容,因此DTD不能進行數(shù)據(jù)有效性檢查;例如:文字 Schema大大擴充了數(shù)據(jù)類型,可以自定義數(shù)據(jù)類型【數(shù)字型、整型、布爾型、日期時間型】 Schema提供一個可擴充的內(nèi)容模式,而DTD擴展性差
7、; Schema可對整個XML文檔或文檔局部進行驗證,而DTD缺乏這種靈活性。 Schema支持名稱空間, DTD不支持命名空間。 囊括了DTD文件所能實現(xiàn)的全部功能,同時它也是一個完全規(guī)范的XML文檔。Schema很可能取代DTD成為驗證XML文檔合法性的新標(biāo)準(zhǔn)。,XML Schema的特點,XML Schema文檔本身就是XML文檔,因此遵守XML的語法規(guī)則; XML Schema是用一套預(yù)先規(guī)定的XML元素和屬性創(chuàng)建的; 在XML Schema需要完成的任務(wù): 定義可以出現(xiàn)在文檔中的元素; 定義可以出現(xiàn)在文檔中的屬性; 定義元素下的子元素及子元素的順序、數(shù)量; 定義元素和屬性的數(shù)據(jù)類型;
8、,返回到目標(biāo),XML Schema兩種模式,兩種模式:W3C XML Schema 和Microsoft XML Schema Microsoft版本的XML schema叫做XDR(XML Data Reduced),它基于XML標(biāo)準(zhǔn)提議中的簡化集合,XDR是一個專有規(guī)范,但它被相當(dāng)廣泛的采用。 W3C的XML Schema叫XSD(XML Schema Definition Language),它是一個比XDR更廣泛的規(guī)范,并且它有不可否認(rèn)的非專有的優(yōu)點。,XDR Schema模式,intro-schema.xml intro.xml ,用名空間的方式指定XML文檔的schema,指明預(yù)定
9、義的元素、屬性和數(shù)據(jù)類型的來源,XSD Schema模式, , ,intro-schema.xsd,Intro.xml,指明預(yù)定義的元素、屬性和數(shù)據(jù)類型的來源,指明noNamespaceSchemaLocation屬性的來源,通過noNamespaceSchemaLocation屬性來指定XML文檔的schema,返回到目標(biāo),W3C XML Schema完整的示例, Hello World! 你好! ,4.4.xml, ,W3C XML Schema完整的示例,4.5.xsd,W3C XML Schema完整的示例, ,返回到目標(biāo),4.5.xsd續(xù),W3C Schema,元素的定義 屬性定義
10、數(shù)據(jù)類型定義 簡單類型定義: 復(fù)雜類型定義:,返回到目標(biāo),Schema的數(shù)據(jù)類型,簡單數(shù)據(jù)類型 一個元素中如果僅僅包含數(shù)字、字符串或其他文本數(shù)據(jù),但不包含子元素和屬性,則這種元素的數(shù)據(jù)類型是簡單類型 復(fù)雜數(shù)據(jù)類型 復(fù)雜類型的元素有子元素和屬性,也可以有字符內(nèi)容。,元素可以有簡單或復(fù)雜數(shù)據(jù)類型,屬性只能有簡單數(shù)據(jù)類型。,返回到目標(biāo),簡單數(shù)據(jù)類型,簡單數(shù)據(jù)類型的聲明格式: annotation子元素。用來定義批注。 restriction子元素。用來對數(shù)據(jù)類型添加限制。 list子元素。用來定義列表數(shù)據(jù)類型。 union子元素。用來定義聯(lián)合數(shù)據(jù)類型。 簡單數(shù)據(jù)類型有以下幾種: 原子類型(內(nèi)置的數(shù)據(jù)
11、類型) 自定義類型 列表類型和聯(lián)合類型,返回到數(shù)據(jù)類型,W3C內(nèi)置的常用數(shù)據(jù)類型,返回到簡單數(shù)據(jù)類型,定義自己的簡單數(shù)據(jù)類型并不表示重新創(chuàng)建新的原子類型,而是表示擴建現(xiàn)有的一個數(shù)據(jù)類型,并加上某些類型的限制自定義它。 格式: 一個或多個元素指定新數(shù)據(jù)類型的限制 ,自定義的簡單數(shù)據(jù)類型,可以是基于內(nèi)置數(shù)據(jù)類型,也可以是基于自定義的數(shù)據(jù)類型,自定義的簡單數(shù)據(jù)類型,例題4.6.xsd:給員工分配100000到999999之間的員工編號 ,自定義的簡單數(shù)據(jù)類型,對應(yīng)的XML文檔 123456 ,自定義的簡單數(shù)據(jù)類型,用于自定義數(shù)據(jù)類型的約束面,可以放置在數(shù)據(jù)類型上的限制,返回到簡單數(shù)據(jù)類型,white
12、Space約束面,whiteSpace面應(yīng)用于string數(shù)據(jù)類型以及派生數(shù)據(jù)類型; whiteSpace面可設(shè)置為以下值中的一個 preserve:空白不以任何方式被規(guī)范化或改變; replace:所有出現(xiàn)的制表符、換行符、和回車符都將被單個空格取代; collapse:與replace一樣用空格取代換行符等,并用單個空格取代多個連續(xù)空格;刪除前導(dǎo)和尾隨空格;,Length和whiteSpace約束面例題, value=collapse/ ,4.7.xsd,返回到約束面,有關(guān)enumerated例題, ,4.9.xsd,返回到約束面,Pattern模式,Pattern模式可為數(shù)據(jù)類型定義詳細的模板。 例如:可以限制一個類型包含由單個大寫字母后跟一短劃線和3個數(shù)字組成的字符串A-Z-d3,Pattern模式,Pattern模式,pattern例題, ,4.10.xsd,返回到約束面, XA3121,列表類型,列表類型是其值用空格隔開的原子值列表; 格式: ,列表類型例題, ,4.11.xsd,聯(lián)合類型,聯(lián)合數(shù)據(jù)類型是將若干個數(shù)據(jù)類型集合在一個數(shù)據(jù)類型里,即此數(shù)據(jù)類型的數(shù)據(jù)可以是這些數(shù)據(jù)類型集合中的一種。 聯(lián)合類型的值可以是原子類型,也可以是列表類型或自定義的數(shù)據(jù)類型 聲明格式: ,可以是原子類型、列表類型、自定義數(shù)據(jù)類型,聯(lián)合
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川省油氣勘探開發(fā)有限公司招聘8人備考題庫及一套完整答案詳解
- 2026云南保山天潤高級中學(xué)在職教師招聘6人備考題庫及答案詳解參考
- 2025年山東方言文化題庫及答案
- 2025年水產(chǎn)養(yǎng)殖操作題庫及答案
- 2025年市場營銷面試題庫及答案
- 2026天津市南開區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)單位人員(含高層次人才)60人備考題庫有完整答案詳解
- 2025年初級考試官方題庫及答案
- 2025貴州貴陽市烏當(dāng)區(qū)新天九年制學(xué)校秋季招聘第十六批臨聘教師2人備考題庫含答案詳解
- 2025廣西百色市平果市大學(xué)園區(qū)管理服務(wù)中心城鎮(zhèn)公益性崗位人員招聘1人備考題庫及答案詳解(易錯題)
- 2025中共連城縣委黨校定向選調(diào)2人備考題庫(福建)附答案詳解
- 2024年養(yǎng)殖業(yè)創(chuàng)新合作:肉牛養(yǎng)殖與科研合作協(xié)議3篇
- 變電站消防安全
- 單位租車合同協(xié)議樣本
- 《JJG196-2006-常用玻璃量器檢定規(guī)程》
- 《陸上風(fēng)電場工程設(shè)計概算編制規(guī)定及費用標(biāo)準(zhǔn)》(NB-T 31011-2019)
- 介入導(dǎo)管室有關(guān)知識課件
- 銀行客戶經(jīng)理壓力與情緒管理培訓(xùn)
- 推廣經(jīng)理半年工作計劃
- 無人機駕駛員培訓(xùn)計劃及大綱
- 價格說明函格式范本正規(guī)范本(通用版)
- 水車澆水施工方案
評論
0/150
提交評論