第3章有效的XML文件_第1頁(yè)
第3章有效的XML文件_第2頁(yè)
第3章有效的XML文件_第3頁(yè)
第3章有效的XML文件_第4頁(yè)
第3章有效的XML文件_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三章有效的XML文件本章主要內(nèi)容

什么是有效的XML文件怎樣檢查XML文件有效性

XML文件與DTD的關(guān)聯(lián)PUBLIC關(guān)聯(lián)型SYSTEM關(guān)聯(lián)型

DTDDTD中的元素DTD中的屬性DTD中的實(shí)體每一個(gè)XML文件需要有個(gè)關(guān)其自身格式的描述——DTD。使用某個(gè)標(biāo)準(zhǔn)的DTD來(lái)交換數(shù)據(jù)??梢允褂肈TD來(lái)驗(yàn)證您自身的數(shù)據(jù)。為什么使用DTD?根據(jù)以上標(biāo)記結(jié)構(gòu)圖進(jìn)行設(shè)計(jì),設(shè)計(jì)過(guò)程如下:1)分別設(shè)計(jì)作者、書(shū)籍、出版社信息的DTD語(yǔ)句;2)根據(jù)設(shè)計(jì)好的DTD文檔,編寫(xiě)XML文檔;3)生成完整的XML文檔使用DTD做圖書(shū)信息管理系統(tǒng)

圖書(shū)信息管理系統(tǒng)結(jié)構(gòu)圖XML聲明例子

沒(méi)有DTD,同一數(shù)據(jù)編寫(xiě)的XML文件,在數(shù)據(jù)結(jié)構(gòu)上就可能有很大的不同,導(dǎo)致數(shù)據(jù)交換不暢。下面我們來(lái)看個(gè)例題。例1:Time1.xml<火車(chē)時(shí)刻表> <T28>

開(kāi)車(chē)時(shí)間:20點(diǎn)58分

</T28></火車(chē)時(shí)刻表>例2:Time2.xml<火車(chē)時(shí)刻表> <T28>

開(kāi)車(chē)時(shí)間

<hour>20點(diǎn)</hour> <minute>58分</minute> </T28></火車(chē)時(shí)刻表>

對(duì)于上述的兩個(gè)文件我們都會(huì)知道T28的開(kāi)車(chē)時(shí)間.但是對(duì)于解析器,兩個(gè)文件的數(shù)據(jù)結(jié)構(gòu)是不同的.第一個(gè)文件中標(biāo)記“T28”的內(nèi)容只有文本數(shù)據(jù)”開(kāi)車(chē)時(shí)間:20點(diǎn)58分”,而第二個(gè)文件中標(biāo)記“T28”不僅有文本數(shù)據(jù)“開(kāi)車(chē)時(shí)間”還有子標(biāo)記“hour”和“minute”解析器只有解析出子標(biāo)記中的文本數(shù)據(jù)后,才能知道T28的開(kāi)車(chē)時(shí)間.注:這里對(duì)空白區(qū)進(jìn)行忽略.規(guī)范的XML文件+DTD編寫(xiě)限制

=有效的XML文件.3.1有效的XML文件對(duì)XML的數(shù)據(jù)結(jié)構(gòu)的限制有兩種方式:文檔類型定義(DocumentTypeDefinition)DTDXMLSchema模式兩者區(qū)別DTD文件XMLSchema模式具有獨(dú)自語(yǔ)法結(jié)構(gòu)的文件是一個(gè)特殊的XML文件簡(jiǎn)單比DTD更復(fù)雜早于XMLSchema晚<!ELEMENT根標(biāo)記(子標(biāo)記1,子標(biāo)記2……子標(biāo)記n)><!ELEMENT子標(biāo)記(孫標(biāo)記1,孫標(biāo)記2……孫標(biāo)記n)><!ELEMENT孫標(biāo)記1 (下層標(biāo)記)><!ELEMENT孫標(biāo)記n (#PCDATA)>DTD文檔<?xmlversion=“1.0”?><!DOCTYPE根標(biāo)記的名稱SYSTEM“DTD文件的URI”><!DOCTYPE根標(biāo)記的名稱PUBLIC“正式公用標(biāo)識(shí)符”“DTD文件的URI”><根標(biāo)記的名稱>……</根標(biāo)記的名稱>XML文檔有效的XML文件FORMOREINFO...DTD文件的編碼必須與相關(guān)聯(lián)的XML文件一致。

當(dāng)你保存文件時(shí)如果系統(tǒng)總是給你加上”.txt”,那你就要在文件名上加上雙引號(hào)XML文件與DTD的關(guān)聯(lián)關(guān)聯(lián)的形式有如下兩種SYSTEM關(guān)聯(lián)SYSTEM關(guān)聯(lián)的DTD文件由個(gè)某個(gè)工作小組所認(rèn)可PUBLIC關(guān)聯(lián)PUBLIC關(guān)聯(lián)的DTD文件,已經(jīng)得到某一領(lǐng)域認(rèn)可的DTD文件XML文件與DTD的關(guān)聯(lián)

-SYSTEM關(guān)聯(lián)型SYSTEM關(guān)聯(lián)型的文檔類型聲明格式<!DOCTYPE根標(biāo)記的名稱SYSTEM“DTD文件的URI”>例子: <!DOCTYPE火車(chē)時(shí)刻表SYSTEM“a.dtd”> <!DOCTYPE火車(chē)時(shí)刻表SYSTEM“../a.dtd”> <!DOCTYPE火車(chē)時(shí)刻表SYSTEM“/file/a.dtd”>

統(tǒng)一資源標(biāo)識(shí)符(UniformResourceIdentifier).URI必須是有效的資源.如果URI是一個(gè)文件的名字,該文件必須和當(dāng)前的XML文件在同一目錄下,如果不在同一目錄下就要寫(xiě)清路徑.如果是一個(gè)鏈接地址那么這個(gè)鏈接地址必須是可以訪問(wèn)的XML文件與DTD的關(guān)聯(lián)

-PUBLIC關(guān)聯(lián)型PUBLIC關(guān)聯(lián)型文檔類型聲明格式<!DOCTYPE根標(biāo)記的名稱PUBLIC“正式公用標(biāo)識(shí)符”“DTD文件的URI”>FORMOREINFO...正式公用標(biāo)識(shí)符(FormalPublicIdentifier,FPI)格式:

“-//ISO認(rèn)證//單位名稱//DTD說(shuō)明//所用語(yǔ)言”

例子:<!DOCTYPEemployee

PUBLIC

“-//ISO123456//ccutsoft//ForXML//EN”

“/dtds/chapt3/a.dtd”>注:FPI中不可以有非ASCII碼字符DTD–初識(shí)DTD例子:A.dtd<!ELEMENT學(xué)生 (小張,李四)><!ELEMENT小張 (入學(xué)時(shí)間,畢業(yè)時(shí)間)><!ELEMENT李四 (入學(xué)時(shí)間,畢業(yè)時(shí)間)><!ELEMENT入學(xué)時(shí)間 (#PCDATA)><!ELEMENT畢業(yè)時(shí)間 (#PCDATA)>下面我們來(lái)看一個(gè)簡(jiǎn)單的例子約束XML文件中的根標(biāo)記”學(xué)生”只可以有且必須兩個(gè)子標(biāo)記”小張”和”李四”約束XML文件中的標(biāo)記”小張”只可以有且必須兩個(gè)子標(biāo)記”入學(xué)時(shí)間”和”畢業(yè)時(shí)間”約束標(biāo)記“學(xué)時(shí)入間”和”畢業(yè)時(shí)間”只能有文本數(shù)據(jù),不可以有子標(biāo)記,“#PCDATA”表示已解析的文本數(shù)據(jù)(是指不含有特殊字符的普通字符)

例子1dtdFile.dtd<!ELEMENT列車(chē)時(shí)刻表(T28次,T226次)><!ELEMENTT28次(開(kāi)車(chē)時(shí)間,終到時(shí)間)><!ELEMENTT226次(開(kāi)車(chē)時(shí)間,終到時(shí)間)><!ELEMENT開(kāi)車(chē)時(shí)間(hour,minute)><!ELEMENT終到時(shí)間(hour,minute)><!ELEMENThour(#PCDATA)><!ELEMENTminute(#PCDATA)>Cha3_1.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE列車(chē)時(shí)刻表PUBLIC“-//ISO88/China/xml/CH”“dtdFile.dtd”><列車(chē)時(shí)刻表><T28次><開(kāi)車(chē)時(shí)間><hour>23點(diǎn)</hour><minute>12分</minute></開(kāi)車(chē)時(shí)間><終到時(shí)間><hour>23點(diǎn)</hour><minute>12分</minute></終到時(shí)間></T28次><T226次><開(kāi)車(chē)時(shí)間><hour>08點(diǎn)</hour><minute>45分</minute></開(kāi)車(chē)時(shí)間><終到時(shí)間><hour>19點(diǎn)</hour><minute>36分</minute></終到時(shí)間></T226次></列車(chē)時(shí)刻表>DTD文件名約束XML的根標(biāo)記”列車(chē)時(shí)刻表”有且僅有兩個(gè)子標(biāo)記”T28次”和”T226次”約束XML的標(biāo)記”T28次”有且僅有兩個(gè)子標(biāo)記”開(kāi)車(chē)時(shí)間”和”終到時(shí)間”約束標(biāo)記”hour”和”minute”只能有文本數(shù)據(jù),不可以有子標(biāo)記,”#PCDATA”表示已解析的文本數(shù)據(jù)(是指不含有左尖括號(hào)、右尖括號(hào)、與符號(hào)、單引號(hào)和雙引號(hào)的普通字符或者是CDATA段中的內(nèi)容)XML的聲明語(yǔ)句,XML文件必須以它開(kāi)頭XML與DTD文件關(guān)聯(lián)語(yǔ)句,關(guān)聯(lián)類型是PUBLIC類型內(nèi)部DTD<!DOCTYPE根標(biāo)記名稱[DTD內(nèi)容]>就是把DTD文件的內(nèi)容直接寫(xiě)在XML文件的內(nèi)部.稱為內(nèi)部的DTD.開(kāi)始結(jié)束例18(P64)<?xmlversion="1.0"encoding="UTF-8"standalone="yes"?><!DOCTYPE列車(chē)時(shí)刻表[<!ELEMENT列車(chē)時(shí)刻表(T28次,T226次)><!ELEMENTT28次(開(kāi)車(chē)時(shí)間,終到時(shí)間)><!ELEMENTT226次(開(kāi)車(chē)時(shí)間,終到時(shí)間)><!ELEMENT開(kāi)車(chē)時(shí)間(hour,minute)><!ELEMENT終到時(shí)間(hour,minute)><!ELEMENThour(#PCDATA)><!ELEMENTminute(#PCDATA)>]><列車(chē)時(shí)刻表><T28次><開(kāi)車(chē)時(shí)間><hour>23點(diǎn)</hour><minute>12分</minute></開(kāi)車(chē)時(shí)間><終到時(shí)間><hour>23點(diǎn)</hour><minute>12分</minute></終到時(shí)間></T28次><T226次><開(kāi)車(chē)時(shí)間><hour>08點(diǎn)</hour><minute>45分

</minute></開(kāi)車(chē)時(shí)間><終到時(shí)間><hour>19點(diǎn)</hour><minute>36分

</minute></終到時(shí)間></T226次></列車(chē)時(shí)刻表>內(nèi)部DTD如果內(nèi)部的DTD和外部DTD文件同時(shí)限制了某個(gè)標(biāo)記,就會(huì)導(dǎo)致錯(cuò)誤,因?yàn)椴荒苁褂枚鄠€(gè)元素聲明限制同一個(gè)標(biāo)記。同時(shí)使用外部DTD和內(nèi)部DTD的格式:<!DOCTYPE根標(biāo)記名稱SYSTEM“外部DTD的URI”[DTD內(nèi)容]>或<!DOCTYPE根標(biāo)記名稱PUBLIC“正式公用標(biāo)識(shí)符”“外部DTD的URI”[DTD內(nèi)容]>3.2檢查有效性瀏覽器的XML解析器僅僅檢查XML文件關(guān)聯(lián)的DTD文件是否有語(yǔ)法錯(cuò)誤,并不檢查XML文件是否遵守該DTD規(guī)定。DOM解析器檢查XML文件的規(guī)范性,及相關(guān)聯(lián)DTD文件的語(yǔ)法

(DOM解析器將在第六章詳細(xì)講解)3.3DTD–DTD中的元素ELEMENT用來(lái)約束XML文件中的標(biāo)記.在DTD中使用元素聲明來(lái)定義一個(gè)元素。其格式為:<!ELEMENT標(biāo)記名稱標(biāo)記的約束條件>例子:<!ELEMENT列車(chē)時(shí)刻表(T28,T29)>聲明開(kāi)始元素名稱聲明結(jié)束元素聲明開(kāi)始,“<“、“!”和“ELEMENT”中間不能有空格聲明結(jié)束注:DTD文件中元素的作用與其在DTD文件中的書(shū)寫(xiě)位置無(wú)關(guān)。在DTD文件中不能使用多個(gè)元素約束同一個(gè)標(biāo)記,即使它們的約束條件相同DTD–ELEMENT作用規(guī)定標(biāo)記的子標(biāo)記限制標(biāo)記只有文本數(shù)據(jù)規(guī)定標(biāo)記的混合內(nèi)容EMPTY和ANYELEMENT作用–規(guī)定標(biāo)記的子標(biāo)記約束的內(nèi)容規(guī)定有那些子標(biāo)記子標(biāo)記出現(xiàn)的順序子標(biāo)記是否允許重復(fù)出現(xiàn)這些約束內(nèi)容出現(xiàn)在DTD中元素聲明的“標(biāo)記的約束條件”部分。格式如下:ELEMENT作用–

規(guī)定標(biāo)記的子標(biāo)記格式<!ELEMENT

標(biāo)記名稱(子標(biāo)記列表)>例子<!ELEMENT

開(kāi)車(chē)時(shí)間(hour,minute)>另外我們還可以在子標(biāo)記列表中的子標(biāo)記后加限定符號(hào),限定符號(hào)如下:子標(biāo)記列表標(biāo)記符

+ 限定符號(hào)的標(biāo)記必須出現(xiàn)一次或多次* 限定符號(hào)的子標(biāo)記可出現(xiàn)零次或多次

? 限定符號(hào)的子標(biāo)記可出現(xiàn)零次或一次例子<!ELEMENT

開(kāi)車(chē)時(shí)間(hour?,minute+)>

使用這種約束條件的元素將約束XML文件中相應(yīng)的標(biāo)記只可以有子標(biāo)記,不可以含有文本數(shù)據(jù)。子標(biāo)記列表是由逗號(hào)分隔開(kāi)的,每個(gè)標(biāo)記稱做它的一個(gè)分項(xiàng)。子標(biāo)記在父標(biāo)記出現(xiàn)的順序是不能改變<開(kāi)車(chē)時(shí)間><hour>04點(diǎn)

</hour><minute>58分

</minute></開(kāi)車(chē)時(shí)間><開(kāi)車(chē)時(shí)間><minute>58分

</minute><hour>04點(diǎn)

</hour></開(kāi)車(chē)時(shí)間><開(kāi)車(chē)時(shí)間>特快車(chē)

<hour>04點(diǎn)

</hour><minute>58分

</minute></開(kāi)車(chē)時(shí)間>ELEMENT作用–

規(guī)定標(biāo)記的子標(biāo)記子標(biāo)記列表的分項(xiàng)也可以是幾個(gè)標(biāo)記的 “或運(yùn)算”,他們必須用小括號(hào)擴(kuò)起.例子<!ELEMENT

應(yīng)聘者(姓名,(本科|碩士|博士),(男|女))>約束標(biāo)記“應(yīng)聘者”順序地有三個(gè)標(biāo)記:一個(gè)“姓名”標(biāo)記,一個(gè)“本科”、“碩士”或“博士”標(biāo)記,一個(gè)“男”或“女”標(biāo)記ELEMENT作用–

規(guī)定標(biāo)記的子標(biāo)記子標(biāo)記列表標(biāo)記符和“或運(yùn)算”一起使用的例子:<!ELEMENT應(yīng)聘者(姓名,(獎(jiǎng)勵(lì)|處分)*,(男|女))約束標(biāo)記“應(yīng)聘者”順序地有若干個(gè)標(biāo)記:一個(gè)“姓名”標(biāo)記,多個(gè)(包括零個(gè))“獎(jiǎng)勵(lì)”或“處分”標(biāo)記,一個(gè)“男”或“女”標(biāo)記。ELEMENT作用

–限制標(biāo)記只有文本數(shù)據(jù)如果準(zhǔn)備約束一個(gè)沒(méi)有子標(biāo)記的標(biāo)記,“標(biāo)記的約束條件”就用小括號(hào)括起來(lái)的“#PCDATA”.格式如下:

<!ELEMENT本科(#PCDATA)>關(guān)鍵字“#PCDATA”約束標(biāo)記的文本數(shù)據(jù)可以有普通字符、CDATA段內(nèi)容、字符引用和實(shí)體引用.也可以是由一個(gè)空字符組成的文本數(shù)據(jù)。<!ELEMENThello(#PCDATA)>下列“hello“標(biāo)記都是符合約束條件的標(biāo)記,<hello>

你好</hello><hello>你好</hello>

<hello></hello><hello>

你好<![CDATA[”我&你”]]></hello>例3dtdFile.dtd<!ELEMENT應(yīng)聘信息(應(yīng)聘者*)><!ELEMENT應(yīng)聘者(姓名,(本科|碩士|博士),(獎(jiǎng)勵(lì)|處分)*,性別))><!ELEMENT本科(#PCDATA)><!ELEMENT碩士(#PCDATA)><!ELEMENT博士(#PCDATA)><!ELEMENT獎(jiǎng)勵(lì)(#PCDATA)><!ELEMENT處分(#PCDATA)><!ELEMENT性別(#PCDATA)><!ELEMENT姓名(#PCDATA)>約束XML中的根標(biāo)記”應(yīng)聘信息”的子標(biāo)記”應(yīng)聘者”可出現(xiàn)零次或多次約束標(biāo)記“應(yīng)聘者”順序地有若干個(gè)標(biāo)記:一個(gè)“姓名”標(biāo)記,一個(gè)”本科”或”碩士”或”博士”標(biāo)記,一個(gè)“獎(jiǎng)勵(lì)”或“處分”標(biāo)記,一個(gè)”性別”標(biāo)記約束以下標(biāo)記只能有文本數(shù)據(jù),不可以有子標(biāo)記,”#PCDATA”表示已解析的文本數(shù)據(jù)(是指不含有左尖括號(hào)、右尖括號(hào)、與符號(hào)、單引號(hào)和雙引號(hào)的普通字符)Cha3_3.xml(P41)<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE應(yīng)聘信息SYSTEM“dtdFile.dtd”><應(yīng)聘信息><應(yīng)聘者><姓名>張林將</姓名><碩士>北京大學(xué)計(jì)算機(jī)理學(xué)碩士</碩士><獎(jiǎng)勵(lì)>獲2005年度光華獎(jiǎng)學(xué)金</獎(jiǎng)勵(lì)><獎(jiǎng)勵(lì)>獲2003年度一等獎(jiǎng)學(xué)金</獎(jiǎng)勵(lì)><處分>2004被一次警告處分</處分><性別>男</性別></應(yīng)聘者><應(yīng)聘者><姓名>李小莉</姓名><博士>清華大學(xué)自動(dòng)化專業(yè)工學(xué)博士</博士><獎(jiǎng)勵(lì)>獲2003年度光華獎(jiǎng)學(xué)金</獎(jiǎng)勵(lì)><性別>女</性別></應(yīng)聘者><應(yīng)聘者><姓名>王勁勁</姓名><本科>南京大學(xué)文學(xué)系文學(xué)學(xué)士</本科><性別>女</性別></應(yīng)聘者></應(yīng)聘信息>ELEMENT作用

規(guī)定標(biāo)記的混合內(nèi)容格式如下:

<!ELEMENT標(biāo)記名稱(#PCDATA|子標(biāo)記1|子標(biāo)記2|…|子標(biāo)記n)*>例子: <!ELEMENT車(chē)次(#PCDATA|開(kāi)車(chē)時(shí)間|終到時(shí)間)*> …….

<車(chē)次> K83次特快列車(chē)

<開(kāi)車(chē)時(shí)間>20點(diǎn)36分</開(kāi)車(chē)時(shí)間> <終到時(shí)間>07點(diǎn)12分</終到時(shí)間> </車(chē)次>是指既可以有子標(biāo)記也可以有文本數(shù)據(jù)標(biāo)記的約束條件是關(guān)鍵字“#PCDATA”和若干個(gè)子標(biāo)記的“或”運(yùn)算,而且該“或運(yùn)算”必須用小括號(hào)括起來(lái)并尾加一個(gè)“*”號(hào)。注:必須用“*”號(hào)結(jié)尾。(#PCDATA|子標(biāo)記1|子標(biāo)記2….|子標(biāo)記1)

(#PCDATA|子標(biāo)記1|子標(biāo)記2….|子標(biāo)記1)+(#PCDATA|子標(biāo)記1|子標(biāo)記2….|子標(biāo)記1?(#PCDATA,子標(biāo)記1,子標(biāo)記2….,子標(biāo)記1)*請(qǐng)找出錯(cuò)誤的原因.混合標(biāo)記內(nèi)容注意事項(xiàng)#PCDATA和若干個(gè)子標(biāo)記進(jìn)行“或運(yùn)算”“或運(yùn)算”必須用“()”擴(kuò)起來(lái),尾加一個(gè)“*”號(hào)。文本數(shù)據(jù)可出現(xiàn)也可以不出現(xiàn)子標(biāo)記可以出現(xiàn)零次或多次不能約束這些子標(biāo)記出現(xiàn)的次數(shù)和順序.約束條件中不能使用限制符號(hào)(#PCDATA|子標(biāo)記1+|子標(biāo)記2*….|子標(biāo)記n?)是錯(cuò)誤的例4(P43)dtdFile.dtd<!ELEMENT列車(chē)時(shí)刻表(車(chē)次)*><!ELEMENT車(chē)次(#PCDATA|開(kāi)車(chē)時(shí)間|終到時(shí)間)*><!ELEMENT開(kāi)車(chē)時(shí)間(#PCDATA)><!ELEMENT終到時(shí)間(#PCDATA)>Cha3_4.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE列車(chē)時(shí)刻表PUBLIC–//ISO88//raiway//ForXML/ch”“dtdFile.dtd”><列車(chē)時(shí)刻表><車(chē)次>K83次特快列車(chē)

<開(kāi)車(chē)時(shí)間>20點(diǎn)36分</開(kāi)車(chē)時(shí)間><終到時(shí)間>07點(diǎn)12分</終到時(shí)間></車(chē)次><車(chē)次>

K18次特快列車(chē)

<開(kāi)車(chē)時(shí)間>16點(diǎn)36分</開(kāi)車(chē)時(shí)間><終到時(shí)間>09點(diǎn)16分</終到時(shí)間></車(chē)次></列車(chē)時(shí)刻表>約束標(biāo)記”車(chē)次”的文本數(shù)據(jù)可出現(xiàn)也可以不出現(xiàn),子標(biāo)記可以出現(xiàn)零次或多次,不能約束這些子標(biāo)記出現(xiàn)的次數(shù)和順序.文本數(shù)據(jù)子標(biāo)記“開(kāi)車(chē)時(shí)間”和“終到時(shí)間”各出現(xiàn)一次ELEMENT作用–EMPTY和ANYEMPTY約束一個(gè)空標(biāo)記或只含有空字符的非空標(biāo)記,則“標(biāo)記約束條件”可以是關(guān)鍵字EMPTY.ANY不準(zhǔn)備對(duì)一個(gè)標(biāo)記有任何約束,則“標(biāo)記約束條件”可以是ANY。<!ELEMENTspeakEMPTY><!ELEMENThelloANY>下列標(biāo)記是否符合約束條件1)<speak/>2)<speak></speak>3)<hello>qwewe</hello>4)<speak>howareyou</speak>5)<speak></speak>√×3.4DTD的完整性不允許無(wú)窮嵌套

<!ELEMENT

商品名稱

(名字,價(jià)格)>

<!ELEMENT名字(商品名稱,單位)>XML文件中的每個(gè)標(biāo)記都必須在DTD中有相應(yīng)元素進(jìn)行約束

<!ELEMENT列車(chē)時(shí)刻表(T28,T29)> <!ELEMENTT28(#PCDATA)> <!ELEMENTT29(#PCDATA)>3.5DTD中的屬性屬性的使用原則一定要以不破壞穩(wěn)當(dāng)?shù)慕Y(jié)構(gòu)為原則DTD中屬性列表的聲明格式:<!ATTLIST標(biāo)記名稱 屬性名稱屬性類型默認(rèn)值情況 屬性名稱屬性類型默認(rèn)值情況

……>下面看個(gè)例子是指標(biāo)記的屬性,可以為標(biāo)記添加附加信息.是一個(gè)名值對(duì).聲明開(kāi)始,不容許有空格聲明結(jié)束DTD中的屬性例子:<!ATTLIST軟件樓

widthCDATA“100” heightCDATA“20” lengthCDATA“150”>

約束標(biāo)記”軟件樓“有三個(gè)屬性”width”、”height”、”length”,它們的類型是“CDATA”,屬性的默認(rèn)值是字符串:“100”、“20”、“150”。注:對(duì)于有效的XML文件,對(duì)于標(biāo)記中添加的每個(gè)屬性,在DTD中都必須有相應(yīng)的ATTLIST聲明給予約束。CDATA與PCDATA的區(qū)別CDATA標(biāo)志在屬性聲明中用于指明屬性為CDATA字符類型。PCDATA標(biāo)志在元素聲明中用于指明元素有混合內(nèi)容(字符數(shù)據(jù)或者字符數(shù)據(jù)與子元素的混合)。元素內(nèi)容將被解析。

一個(gè)被"<![CDATA["and"]]>"括起來(lái)的CDATA節(jié),是不將被解析的字符數(shù)據(jù)節(jié),這與CDATA和PCDATA這兩種被解析的字符數(shù)據(jù)形成對(duì)照。CDATA節(jié)只能出現(xiàn)在元素內(nèi)容中,它與屬性聲明中的CDATA標(biāo)志并無(wú)任何關(guān)系。DTD中的屬性屬性三要素屬性名稱和標(biāo)記的命名規(guī)則相同屬性類型字符串(不含有<,>,“,‘,&)字符串區(qū)分大,小寫(xiě)屬性默認(rèn)值字母、數(shù)字、下劃線、點(diǎn)、連字符組成,以字母和下劃線開(kāi)頭。區(qū)分大小寫(xiě)DTD中的屬性-屬性的默認(rèn)值默認(rèn)值情況約束意義字符串標(biāo)記必須有該屬性,且有默認(rèn)值(P46例5)#IMPLIED標(biāo)記可以沒(méi)有該屬性,沒(méi)有默認(rèn)值#REQUIRED標(biāo)記必須有該屬性,沒(méi)有默認(rèn)值(P47例6)#FIXED“字符串”標(biāo)記可以沒(méi)有該屬性,但如果有該屬性,那么屬性值固定不變(P49例7)例5(P46)dtdFile.dtd<!ELEMENTroom(桌子)*><!ELEMENT桌子(#PCDATA)><!ATTLIST桌子

widthCDATA“100”heightCDATA“100”lengthCDATA“100”>Cha3_5.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPEroomSYSTEM“dtdFile.dtd”><room><桌子width=“123”heigth=“200”length=“5555”>

紅桌子

</桌子><桌子>大小如何

</桌子></room>約束標(biāo)記”桌子”必須有三個(gè)屬性“width””height””length”并對(duì)三個(gè)屬性設(shè)置了默認(rèn)值,都是“100”這個(gè)”桌子”標(biāo)記明顯的添加了DTD中ATTLIST聲明的并指定了新的屬性值三個(gè)屬性這個(gè)”桌子”標(biāo)記沒(méi)有明顯的添加ATTLIST聲明的屬性.但解析器認(rèn)為有這三個(gè)屬性且默認(rèn)值是ATTLIST聲明給定的字符串例6(P47)dtdFile.dtd<!ELEMENT車(chē)(汽車(chē)*,驢車(chē))><!ELEMENT汽車(chē)(#PCDATA)><!ATTLIST汽車(chē)車(chē)牌CDATA#REQUIRED><!ELEMENT驢車(chē)(#PCDATA)><!ATTLIST驢車(chē)車(chē)牌CDATA#IMPLIED>Cha3_6.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE車(chē)SYSTEM“dtdFile.dtd”><車(chē)><汽車(chē)車(chē)牌=“汽A1234567”>

交通工具

</汽車(chē)><驢車(chē)車(chē)牌=“驢A7654321”>農(nóng)用車(chē)

</驢車(chē)></車(chē)>約束標(biāo)記”汽車(chē)”必須有”車(chē)牌”這個(gè)屬性,但沒(méi)有默認(rèn)值約束標(biāo)記”驢車(chē)”可以沒(méi)有”車(chē)牌”這個(gè)屬性,沒(méi)有默認(rèn)值例7(P49)dtdFile.dtd<!ELEMENT電話薄(報(bào)警電話,火警電話)><!ELEMENT報(bào)警電話(#PCDATA)><!ATTLIST報(bào)警電話號(hào)碼CDATA#FIXED“110”><!ELEMENT火警電話(#PCDATA)><!ATTLIST火警電話號(hào)碼CDATA#FIXED“119”>Cha3_6.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE電話薄SYSTEM“dtdFile.dtd”><電話薄><報(bào)警電話號(hào)碼=“110”>

不要亂打報(bào)警電話

</報(bào)警電話><火警電話號(hào)碼=“119”>一旦發(fā)生火災(zāi),請(qǐng)及時(shí)撥打119</火警電話></電話薄>約束標(biāo)記”報(bào)警電話”可以沒(méi)有”號(hào)碼”這個(gè)屬性,但如果有就必須是它默認(rèn)值標(biāo)記:”報(bào)警電話”如果有號(hào)碼這個(gè)屬性那值只能是”110”DTD中的屬性-屬性類型聲明屬性的常用類型有:CDATA

字符數(shù)據(jù),即沒(méi)有標(biāo)記的文本Enumerated

可選擇的可能值列表NMTOKEN

XML名稱記號(hào)NMTOKENS

由空格分隔的多個(gè)XML名稱記號(hào)ID

不被文檔中任何其他ID類型屬性共享的唯一的名稱IDREF文檔中元素的ID類型屬性的值IDREFS由空格分隔的元素的多個(gè)IDCDATA類型對(duì)于CDATA類型的屬性,該屬性的值可以是任何一個(gè)字符串,但是字符串中不能含有五種特殊字符。如果想使用這些字符,可以使用字符引用和實(shí)體引用。例8(P52)dtdFile.dtd<!ELEMENT聯(lián)系人(姓名*)><!ELEMENT姓名(#PCDATA)><!ATTLIST姓名電話CDATA#REQUIREDEmailCDATA#REQUIRED

住址CDATA#IMPLIED>Cha3_8.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE聯(lián)系人SYSTEM“dtdFile.dtd”><聯(lián)系人><姓名電話=“123456”Email=we@>

張三

</姓名><姓名電話=“123456”Email=we@住址=“北京海淀區(qū)”>

李四

</姓名></聯(lián)系人>Enumerated類型如果屬性的類型是Enumerated類型,那么該屬性只可以取枚舉出的值。這里要注意Enumerated不是關(guān)鍵字,而是指類型定義的格式,其格式是將屬性可以取的值用符號(hào)”|”分隔。<!ATTLIST標(biāo)記名屬性名(屬性值1|屬性值2|…)默認(rèn)值情況>

屬性值可以由字母、數(shù)字、下劃線、點(diǎn)、或連字符組成,并允許數(shù)字字符開(kāi)頭。注:如果XML文件使用的是UTF_8編碼,字母不僅包括通用的拉丁字abc等,也包括漢字、日文片假名、平假名、朝鮮文以及其他許多語(yǔ)言中的文字。例9:(P52)

dtdFile.dtd<!ELEMENT學(xué)生(姓名*)><!ELEMENT姓名(#PCDATA)><!ATTLIST姓名性別(男|女)#REQUIRED>Cha3_9.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE學(xué)生SYSTEM“dtdFile.dtd”><學(xué)生><姓名性別=“男”>

張三

</姓名><姓名性別=“女”>

翠花

</姓名></學(xué)生>NMTOKEN類型屬性的類型是NMTOKEN類型的屬性屬性值可以由字母、數(shù)字、下劃線、點(diǎn)或連字符組成,屬性中不能含有空格字符。屬性值也可以用數(shù)字,點(diǎn)或連字符開(kāi)頭例10(P53)dtdFile.dtd<!ELEMENT文件(Java文件,XML文件)><!ELEMENTJava文件(#PCDATA)><!ATTLISTJava文件文件名NMTOKEN#REQUIRED><!ELEMENTXML文件(#PCDATA)><!ATTLISTXML文件文件名NMTOKEN#REQUIRED>Cha3_10.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE文件SYSTEM“dtdFile.dtd”><文件><Java文件文件名=“hello.java”><[CDATA[classhello{publicstaticvoidmain(Stringargs[]){System.out.println(“ok”);}}]]>

</Java文件>

<XML文件文件名=“First.xml”><[CDATA[<?xmlversion=“1.0”?><職員><姓名>張小三</姓名></職員>]]></XML文件></文件>NMTOKENS類型我們知道NMTOKEN屬性值中不能含有空白類字符。如果需要某個(gè)屬性值含有空白類字符,而且被空白分隔開(kāi)的子字符串符合NMTOKEN類型屬性的屬性值之規(guī)定,那么就可將屬性的類型取為NMTOKENS類型。例11(P54)

dtdFile.dtd<!ELEMENT成果(論文*)><!ELEMENT論文(#PCDATA)><!ATTLIST論文關(guān)鍵字NMTOKENS#REQUIRED>Cha3_11.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE成果SYSTEM“dtdFile.dtd”><成果><論文關(guān)鍵字=“拓?fù)潇鼗煦缬成洹?gt;

本論文詳細(xì)討論了線段自映射的拓?fù)潇睾停蘨-yorke混沌之間的關(guān)系

</論文>

<論文關(guān)鍵字=“XMLSOAP”>

本論文詳細(xì)討論了基于SOAP通信中XML文件的作用.

</論文></成果>ID類型屬性具有專用性,即不允許其他類型相同的屬性再使用這個(gè)屬性值,那么就可以將屬性的類型取為ID類型。ID類型的屬性值可以有字符,數(shù)字,下劃線,點(diǎn)或連字符組成,但必須以字母或下劃線開(kāi)頭。注意:

ID類型屬性的“默認(rèn)值情況”只能是 “#REQUIRED”和“#IMPLIED”。例12(P55)

dtdFile.dtd<!ELEMENT出版社(圖書(shū)*)><!ELEMENT圖書(shū)(名稱*)><!ELEMENT名稱(#PCDATA)><!ATTLIST名稱ISBNID#REQUIRED>Cha3_12.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE出版社SYSTEM“dtdFile.dtd”><出版社><圖書(shū)><名稱ISBN=“ISBN.7-302-09142-0”>Java基礎(chǔ)教程

</名稱><!—下面的ISBN屬性的取值是允許的--><名稱ISBN=“ISBN.7-302-09606-1”>Jsp基礎(chǔ)教程

</名稱></圖書(shū)></出版社>IDREF類型如果我們準(zhǔn)備通過(guò)標(biāo)記的屬性值來(lái)判斷標(biāo)記之間的聯(lián)系,就可以在標(biāo)記中使用IDREF類型的屬性。IDREF類型屬性的屬性值只能取某個(gè)標(biāo)記中ID類型屬性值。例13(P56)dtdFile.dtd<!ELEMENT電話薄(北京)><!ELEMENT北京(清華大學(xué)出版社,北京大學(xué))><!ELEMENT清華大學(xué)出版社EMPTY><!ELEMENT北京大學(xué)EMPTY><!ATTLIST北京區(qū)號(hào)ID#REQUIRED><!ATTLIST清華大學(xué)出版社區(qū)號(hào)IDREF#REQUIRED號(hào)碼CDATA#REQUIRED><!ATTLIST北京大學(xué)區(qū)號(hào)IDREF#REQUIRED號(hào)碼CDATA#REQUIRED>Cha3_13.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE電話薄SYSTEM“dtdFile.dtd”><電話薄><!—由于ID屬性值不允許數(shù)字開(kāi)頭,所以使用下劃線開(kāi)頭--><北京區(qū)號(hào)=“_010”><清華大學(xué)出版社區(qū)號(hào)=“_010”號(hào)碼=“12345678”/><北京大學(xué)區(qū)號(hào)=“_010”號(hào)碼=“66998877”/></北京></電話薄>IDREFS類型IDREFS類型是約束某個(gè)屬性的屬性值是若干個(gè)其他ID屬性值的組合。對(duì)于IDREFS類型的屬性,它的值可以是用空格分隔的若干個(gè)其他ID屬性的屬性值。例14(P57)dtdFile.dtd<!ELEMENT清華大學(xué)出版社(圖書(shū)*,作者*)><!ELEMENT圖書(shū)EMPTY><!ATTLIST圖書(shū)ISBNID#REQUIRED><!ELEMENT作者(#PCDATA)><!ATTLIST作者曾編圖書(shū)IDREFS#REQUIRED>Cha3_14.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE清華大學(xué)出版社SYSTEM“dtdFile.dtd”><清華大學(xué)出版社><圖書(shū)ISBN=“a1234”/><圖書(shū)ISBN=“b1235”/><圖書(shū)ISBN=“c1236”/><圖書(shū)ISBN=“d1237”/><作者曾編圖書(shū)=“a1234b1235c1236d1237”>

張三

</作者><作者曾編圖書(shū)=“a1234b1235”>

李四

</作者></清華大學(xué)出版社>3.6DTD中的實(shí)體W3C允許我們?cè)贒TD文件中定義實(shí)體,然后與該DTD文件關(guān)聯(lián)的XML文件可以通過(guò)實(shí)體引用使用實(shí)體。實(shí)體分為普通實(shí)體和參數(shù)實(shí)體,普通實(shí)體簡(jiǎn)稱為實(shí)體。實(shí)體實(shí)體是指可以被XML文件在標(biāo)記的內(nèi)容中通過(guò)實(shí)體引用使用的實(shí)體。在DTD文件中使用實(shí)體聲明定義實(shí)體。實(shí)體分為內(nèi)部實(shí)體和外部實(shí)體。內(nèi)部實(shí)體就是實(shí)體的內(nèi)容已經(jīng)包含在DTD文件本身中。外部實(shí)體是指實(shí)體的內(nèi)容是DTD文件以外的其他文件。內(nèi)部實(shí)體的聲明格式:<!ENTITY實(shí)體的引用 “實(shí)體的內(nèi)容”>

實(shí)體的內(nèi)容是文本數(shù)據(jù),不允許含有五種特殊符號(hào),應(yīng)使用預(yù)定義實(shí)體引用。XML文件可以使用:”&實(shí)體的引用;”應(yīng)用該實(shí)體.例子<!ENTITYhello “howareyou,&;你好”>在XML中使用:&hello;<,>,’,”,&解析器解析數(shù)據(jù)時(shí),首先將”&hello;”替換為””howareyou,&你好”,最后解析出的數(shù)據(jù)是:“howareyou,&你好”&、實(shí)體的引用和;之間不要有空格例15(P58)dtdFile.dtd<!ENTITYhello”Howareyou”><!ENTITYCCTV“中國(guó)&<<&中央電視臺(tái)”><!ENTITYCCTV5“中國(guó)&中央&中央臺(tái)<體育頻道>”><!ELEMENTrootANY><!ELEMENTspeakANY><!ELEMENThi(#PCDATA)>Cha3_15.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPErootSYSTEM“dtdFile.dtd”><root><speak>

我正在看&CCTV;上的節(jié)目,喜歡&CCTV5;.</speak><hi>&hello;&CCTV;</hi></root><?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEroot(ViewSourceforfulldoctype...)><root>

<speak>我正在看中國(guó)&<<&中央電視臺(tái)上的節(jié)目,喜歡中國(guó)&中央&中央臺(tái)<體育頻道>.</speak>

<hi>Howareyou中國(guó)&<<&中央電視臺(tái)</hi>

</root>顯示樣式外部實(shí)體的聲明定義:外部實(shí)體是指實(shí)體的內(nèi)容是DTD文件以外的其他文件。外部實(shí)體的格式分為兩種:SYSTEM格式和PUBLIC格式。SYSTEM格式是實(shí)體是一個(gè)外部文件,該外部文件由個(gè)人或工作小組所定義且認(rèn)可。PUBLIC格式是實(shí)體是一個(gè)外部文件,該外部文件由已經(jīng)得到某一領(lǐng)域的認(rèn)可。外部實(shí)體的聲明SYSTEM格式<!ENTITY實(shí)體的引用SYSTEM “實(shí)體的URI”>PUBLIC<!ENTITY實(shí)體的引用PUBLICFPI “實(shí)體的URI”>URI必須是一個(gè)有效的資源,如果是一個(gè)文件名,該文件必須和當(dāng)前DTD在一個(gè)目錄中,如果是一個(gè)連接地址,該連接地址必須是可以訪問(wèn)的。FPI的格式:“-ISO認(rèn)證//單位名稱//說(shuō)明//所用語(yǔ)言”FPI中不可含有非ASCII碼字符同樣實(shí)體內(nèi)容也不容許含有五種特殊字符外部實(shí)體引用XML文件用“&實(shí)體的引用;”引用該外部實(shí)體例子:<!ENTITYjavaSYSTEM“A.java”>在XML中使用:&java;

解析器在解析數(shù)據(jù)時(shí),將&java替換為文件“A.java”的內(nèi)容例16(P60)dtdFile.dtd<!ENTITYjavaSYSTEM"ZiMu.java"><!ENTITYtxtSYSTEM"hello.txt"><!ELEMENTroot(son1,son2)><!ELEMENTson1(#PCDATA)><!ELEMENTson2(#PCDATA)>Cha3_16.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPErootSYSTEM“dtdFile.dtd”><root><son1>

這是一個(gè)java文件;&java;</son1><son2>

這是一個(gè)txt文件;&txt;</son2></root>3.7實(shí)體的可解析性實(shí)體按可不可被解析分為:可解析實(shí)體和不可解析實(shí)體??山馕鰧?shí)體就是能被解析器解析的數(shù)據(jù)。不可解析實(shí)體就是解析器無(wú)法解析的數(shù)據(jù),通常指二進(jìn)制數(shù)據(jù)。XML文件中不可以引用不可解析實(shí)體。3.8DTD中的參數(shù)實(shí)體定義:參數(shù)實(shí)體是在DTD文件中定義,只能由DTD文件本身通過(guò)實(shí)體引用使用參數(shù)實(shí)體,和關(guān)聯(lián)的XML無(wú)關(guān)。優(yōu)點(diǎn):不僅可以方便DTD文件的編寫(xiě),而且有利于DTD的維護(hù)。參數(shù)實(shí)體的聲明格式:<!ENTITY

%參數(shù)實(shí)體的引用“參數(shù)實(shí)體的內(nèi)容”><!ENTITY

%BOOK“(PAGE,ID)”>引用時(shí)形式:%BOOK;必須是文本數(shù)據(jù),不含有五種特殊字符例17(P63)dtdFile.dtd<!ENTITY%介紹“(生產(chǎn)日期,庫(kù)存量)”><!ELEMENT產(chǎn)品(電視機(jī),手機(jī))><!ELEMENT電視機(jī)%介紹;><!ELEMENT手機(jī)%介紹;><!ELEMENT生產(chǎn)日期(#PCDATA)><!ELEMENT庫(kù)存量(#PCDATA)>Cha3_17.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE產(chǎn)品SYSTEM“dtdFile.dtd”><產(chǎn)品><電視機(jī)><生產(chǎn)日期>2003年</生產(chǎn)日期><庫(kù)存量>100臺(tái)</庫(kù)存量></電視機(jī)><手機(jī)><生產(chǎn)日期>2005年</生產(chǎn)日期><庫(kù)存量>580臺(tái)</庫(kù)存量></手機(jī)></產(chǎn)品>不能使用內(nèi)部DTD3.9內(nèi)部DTD<!DOCTYPE根標(biāo)記名稱[DTD內(nèi)容]>XML文件會(huì)把內(nèi)、外部DTD文件整合內(nèi)、外部DTD不能限制同一個(gè)標(biāo)記外部DTD可以同時(shí)約束多個(gè)XML文件,內(nèi)外部DTD只能約束一個(gè)XML文件例19dtdFile.dtd<!ENTITY

%門(mén)“(鎖,把手)

”><!ELEMENT房子ANY><!ELEMENT房子%門(mén);><!ELEMENT鎖(#PCDATA)><!ELEMENT把手(#PCDATA)>Cha3_19.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE房子SYSTEM“dtdFile.dtd”[<!ELEMENT窗(#PCDATA)><!ELEMENT電梯(#PCDATA)><!ELEMENT電燈(#PCDATA)>]>外部DTD內(nèi)部DTDCha3_19.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPE房子SYSTEM“dtdFile.dtd”[<!ELEMENT窗(#PCDATA)><!ELEMENT電梯(#PCDATA)><!ELEMENT電燈(#PCDATA)>]><房子><門(mén)><鎖>老虎牌</鎖><把手>熊貓牌</把手></門(mén)><窗>鋁合金</窗>

<電梯>10人</電梯>

<電燈>紅星</電燈></房子>3.10IGNORE和INCLUDEIGNORE的作用是忽略DTD的某些約束條件<![IGNORE[ DTD中的某些約束條件]]>INCLUDE指令是包含某些約束條件<![INCLUDE[ DTD中的某些約束條件]]>例20(P66)dtdFile.dtd<![IGNORE[<!ELEMENTroot(dog,cat)>]]><![INCLUDE[<!ELEMENTroot(cat,dog)>]]><!ELEMENTdog(#PCDATA)><!ELEMENTcat(#PCDATA)><![INCLUDE[<!ATTLISTdoglegCDATA#FIXED"4條"><!ATTLISTcatlegCDATA#FIXED"4條">]]><![IGNORE[<!ATTLISTdoglegCDATA#REQUIRED><!ATTLISTcatlegCDATA#REQUIRED>]]>Cha3_20.xml<?xmlversion=“1.0”encoding=“UTF-8”?><!DOCTYPErootSYSTEM“dtdFile.dtd”><root><catleg=“4條”>

老虎的師傅

</cat><dogleg=“4條”>

忠實(shí)的朋友

</dog></root>名稱空間復(fù)習(xí)名稱空間的聲明在標(biāo)記的“開(kāi)始標(biāo)記”里,放在開(kāi)始標(biāo)記中標(biāo)記名字的后面。一個(gè)標(biāo)記使用的名稱空間,該名稱空間的作用域是改標(biāo)記及其子孫標(biāo)記。一個(gè)標(biāo)記的聲明有前綴,該標(biāo)記及其子孫標(biāo)記可以通過(guò)前綴引用這個(gè)空間名稱,使得該標(biāo)記和子孫標(biāo)記隸屬于這個(gè)空間。無(wú)前綴名稱空間子孫標(biāo)記默認(rèn)隸屬于當(dāng)前名稱空間。3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論