![第2章 使用XML模式_第1頁](http://file4.renrendoc.com/view/abfe386ed0e2d11a7b5a94e5230aab6b/abfe386ed0e2d11a7b5a94e5230aab6b1.gif)
![第2章 使用XML模式_第2頁](http://file4.renrendoc.com/view/abfe386ed0e2d11a7b5a94e5230aab6b/abfe386ed0e2d11a7b5a94e5230aab6b2.gif)
![第2章 使用XML模式_第3頁](http://file4.renrendoc.com/view/abfe386ed0e2d11a7b5a94e5230aab6b/abfe386ed0e2d11a7b5a94e5230aab6b3.gif)
![第2章 使用XML模式_第4頁](http://file4.renrendoc.com/view/abfe386ed0e2d11a7b5a94e5230aab6b/abfe386ed0e2d11a7b5a94e5230aab6b4.gif)
![第2章 使用XML模式_第5頁](http://file4.renrendoc.com/view/abfe386ed0e2d11a7b5a94e5230aab6b/abfe386ed0e2d11a7b5a94e5230aab6b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
XML程序設(shè)計(jì)(一)教材:可擴(kuò)展標(biāo)記語言(XML)出版:NIIT參考書:吳潔:XML應(yīng)用教程(第2版)清華大學(xué)出版社,2007第2章使用XML模式
和名稱空間1良構(gòu)的和合法的XML文檔一個(gè)良構(gòu)的(Well-Formed)XMLdocument:包含嵌套在其他元素中的元素有唯一的根元素遵循XML元素命名慣例遵循XML屬性引用規(guī)則所有特殊字符被正確回避一個(gè)合法(有效)的(Valid)
XMLdocument有一個(gè)附帶的詞匯集并遵循該詞匯集中指定的結(jié)構(gòu)規(guī)則。附帶的詞匯集或是
DTD或是XMLSchema.
2良構(gòu)的(Well-Formed)XML
有可選的首行;如編碼非UTF-8則必須出現(xiàn).<?xmlversion="1.0"?>首位標(biāo)記匹配出現(xiàn),語法正確.<tag>data</tag>屬性定義于開始標(biāo)記內(nèi)并被正確地引號(hào)括起來.<tagattribute="x">data</tag>元素嵌套正確.<employee> <name>JohnSmith</name> <id>X04913</id></employee>這些是XML文檔結(jié)構(gòu)的簡單限制.
32.1XML文檔類型定義DTD為何需要DTD?如果我們需要額外的限制:<messageurgent="yes"> <greeting>hi</greeting> <farewell>bye</farewell></message>只能有兩個(gè)特定的子女('greeting','farewell').子女greeting必須先于子女farewell.Message可以由一個(gè)可選的屬性u(píng)rgent.如果想定義和發(fā)布一個(gè)XML文檔必須遵守的結(jié)構(gòu)如果希望計(jì)算機(jī)能夠驗(yàn)證某個(gè)XML文檔符合這些限制如果想在兩個(gè)XML文檔之間重用文本片斷5DTD是什么?文檔結(jié)構(gòu)的藍(lán)圖.包含一系列聲明.DTDs可以是獨(dú)立于XML文檔的文件.也可以嵌入XML文件.可以用一個(gè)獨(dú)立文件和XML文件分離.DTDs定義了:可以或必須出現(xiàn)的元素.元素出現(xiàn)的頻率.元素嵌套情況.允許的,必須的和缺省的屬性.注意:DTD的使用是可選的.符合DTD中規(guī)則的XML文檔被稱為“有效的”(“valid“)6XML與DTD例子<?xmlversion='1.0'?><address><name><title>Mrs.</title><first-name>Mary</first-name><last-name>McGoon</last-name></name><street>1401MainStreet</street><city>Sheboygan</city><state>WI</state><zip>38472</zip><country>USA</country></address>7<!ELEMENTaddress(name,street*,city,state,zip?,country)><!ELEMENTname(title?,first-name,last-name)><!ELEMENTtitle(#PCDATA)><!ELEMENTfirst-name(#PCDATA)><!ELEMENTlast-name(#PCDATA)><!ELEMENTstreet(#PCDATA)><!ELEMENTcity(#PCDATA)><!ELEMENTstate(#PCDATA)><!ELEMENTzip(#PCDATA)>DTD定義方法DTD定義方法:<!DOCTYPE根元素[DTD內(nèi)容]>帶DTD的XML文件實(shí)例(注:兩邊是一個(gè)完整的文件)8<?xmlversion="1.0"?>
<!DOCTYPEnote[
<!ELEMENTnote(to,from,heading,body)>
<!ELEMENTto(#PCDATA)>
<!ELEMENTfrom(#PCDATA)>
<!ELEMENTheading(#PCDATA)>
<!ELEMENTbody(#PCDATA)>
]><note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don'tforgetmethisweekend</body></note>元素聲明元素聲明的語法:<!ELEMENTelementName(contentModel)>DTD中的元素聲明和XML文檔中相應(yīng)的元素:例:聲明(DTD):<!ELEMENTgreeting(#PCDATA)>有效的XML片斷:<greeting>Hello,World!</greeting><greeting> <![CDATA[HelloBEAUTIFUL!)]]></greeting>9元素內(nèi)容模型元素的內(nèi)容被描述為內(nèi)容模型.DTD內(nèi)容模型的類型<!ELEMENT元素名稱類型>EMPTYANYElements(包含子元素)Mixed10空內(nèi)容模型元素沒有數(shù)據(jù).可能有屬性.聲明(DTD):<!ELEMENTplaceholderEMPTY>例:有效的XML:<placeholder></placeholder>或<placeholder/>(更符合習(xí)慣)11Any內(nèi)容模型可包含任何數(shù)據(jù)或well-formedXML.使用的元素必須在DTD中聲明聲明(DTD):<!ELEMENTuniverseANY><!ELEMENTgalaxy(#PCDATA)>例:有效的XML片斷:<universe></universe><universe>thewholeuniverse</universe><universe> <galaxy>galaxy1</galaxy> </universe>12元素內(nèi)容模型元素內(nèi)容模型由內(nèi)容模型粒子指定內(nèi)容模型粒子或是元素名或下表中的一項(xiàng).<!ELEMENTname(childparticles)>13例:元素內(nèi)容模型(1/3)例:聲明:<!ELEMENTperson((fname,lname)|(lname,fname))><!ELEMENTfname(#PCDATA)><!ELEMENTlname(#PCDATA)>有效的XML:<person> <fname/> <lname>Smith</lname></person><person> <lname>Smith</lname> <fname>John</fname></person>14例:元素內(nèi)容模型(2/3)例:聲明:<!ELEMENTorder(order-item+,delivery-address,order-date?)><!--Childelementsdefinedascontaining#PCDATA-->有效的XML片斷:<order> <order-item/> <delivery-address/></order><order> <order-item>item3<order-item/> <order-item>item4<order-item/> <delivery-address/></order><order> <order-item>item5<order-item/> <order-item>item6<order-item/> <delivery-address/> <order-date>July5,2001</order-date><order/>15例:元素內(nèi)容模型(3/3)例:聲明:<!ELEMENTphonebook(entry|column-heading|number)+><!--entryandcolumn-headingcontain#PCDATA,numberisEMPTY-->有效的XML片斷:<phonebook><entry/><entry/><entry/></phonebook><phonebook> <column-heading/><column-heading/></phonebook>無效的XML:<phonebook> <column-heading> <number> <entry>entry1</entry> </number> </column-heading></phonebook>16例:混合內(nèi)容模型例:聲明:<!ELEMENTdescription(#PCDATA)><!ELEMENTreview(#PCDATA|product)*>有效的XML片斷:<description> descriptivetextgoeshere</description><review> Thisisareviewofthe <product> car </product> thatgoesonforpagesofregulartext.</review>17屬性聲明屬性列表聲明用于聲明一個(gè)元素的屬性語法:<!ATTLIST元素名稱屬性名稱屬性類型默認(rèn)值><!ATTLISTelementNameattributeNameattributeTypeattributeDefault ... attributeNameattributeTypeattributeDefault>18屬性值處理處理屬性時(shí),XML處理器執(zhí)行下列兩步:屬性值規(guī)范化把所有實(shí)體引用用他們的替代文本替換.替換所有空格、tab、回車和換行符為空格.“白空格壓縮"舍棄所有前導(dǎo)和尾隨空格.將所有空格序列替換為單個(gè)空格.19屬性類型20屬性的默認(rèn)值(缺省值)21ID屬性語法:<!ATTLISTelementNameattributeNameID
attributeDefault>聲明:<!ELEMENTemployee(#PCDATA)> <!ATTLISTemployeeserialNumberID#REQUIRED>例:有效的XML片斷:<employeeserialNumber="e00001">JoeSmith</employee> <employeeserialNumber="e00002">BillSmith</employee> <employeeserialNumber="e00003">JohnSmith</employee>無效的XML片斷:<employeeserialNumber="e00001">JoeSmith</employee> <employeeserialNumber="e00001">JohnSmith</employee>22枚舉屬性語法:<!ATTLISTelementNameattributeName(eval|eval|..) attributeDefault>聲明:<!ELEMENTshirt(#PCDATA)> <!ATTLISTshirtsize(small|medium|large)#REQUIRED>有效的XML:<shirtsize="small">plaidpolyester</shirt> <shirtsize="large">whitepoplin</shirt>無效的XML:<shirtsize=“XXL”>navypullover</shirt>23屬性默認(rèn)值(缺?。┑睦勇暶?<!ELEMENTshirt(#PCDATA)> <!ATTLISTshirtsize(small|medium|large)"large"> <!ATTLISTshirttypeCDATA#REQUIRED> <!ATTLISTshirtmanufacturerCDATA#FIXED"Levi">例:有效XML:<shirttype="short">cotton</shirt> <shirttype="short"size="large">wool</shirt> <shirttype="short"manufacturer="Levi">denim</shirt>無效XML:<shirt></shirt> <shirttype="short"size="mediumlarge">cardigan</shirt> <shirttype="short"manufacturer="Gap">designer</shirt>24DTD中屬性定義例子例:聲明:<!ELEMENTbook(#PCDATA)> <!ATTLISTbook idID#IMPLIED isbnCDATA#REQUIRED booktype(Hardcover|Paperback)"Paperback" storelocCDATA"5thAvenue“ yearCDATA#FIXED"2000" commentCDATA#IMPLIED >有效XML:<bookisbn="1-56592-709-5"storeloc="TimesSquare">XMLPocketReference</book>25實(shí)體(Entity)實(shí)體就像宏或常量.<!ENTITYentityName"replacementText">使用實(shí)體,將一個(gè)實(shí)體名的引用放到XML文檔中.實(shí)體名的引用代替替換文本.實(shí)體可以在文件內(nèi)部定義,也可以使用一個(gè)URI外部定義.26聲明普通實(shí)體普通實(shí)體用在XML文檔中.語法:<!ENTITYentityName"replacementText">例:聲明:<!ENTITYprod17792"ACME2000InteractiveCalendar">有效XML:<response>Thankyouforchoosing&prod17792;asyourprimaryschedulingprogram.</response>處理后的XML:ThankyouforchoosingACME2000InteractiveCalendarasyourprimaryschedulingprogram.27聲明外部實(shí)體語法:<!ENTITYentityNameSYSTEM"URI">例:聲明:<!ENTITYprod17792SYSTEM"prod17792.ent">在文件prod17792.ent中:<?xmlversion="1.0"encoding='UTF-8'> ACME2000InteractiveCalendar有效XML:<response>Thankyouforchoosing&prod17792;asyourprimaryschedulingprogram.</response>處理后的XML:ThankyouforchoosingACME2000InteractiveCalendarasyourprimaryschedulingprogram.28內(nèi)建實(shí)體XML中的五個(gè)內(nèi)建字符實(shí)體:字符引用:允許用數(shù)字引用到Unicode字符:nnn;(nnnisdecimal)例: =spacennn;(nnnishexadecimal)例: =space29參數(shù)實(shí)體參數(shù)實(shí)體用于DTD.用于重用一個(gè)屬性列表的部分或一個(gè)復(fù)雜內(nèi)容模型說明的部分.語法:<!ENTITY%parameterEntityName“replacementText”>引用該參數(shù)實(shí)體:%parameterEntityName;30參數(shù)實(shí)體例子<!ENTITY%commonAtts typeIDID#REQUIRED makeCDATA#IMPLIED modelCDATA#IMPLIED> <!ELEMENTcar(#PCDATA)> <!ATTLISTcar%commonAtts;> <!ELEMENTcomputer(#PCDATA)> <!ATTLISTcomputer%commonAtts;> <!ELEMENTphone(#PCDATA)> <!ATTLISTphone%commonAtts; type(rotary|digital)#IMPLIED>31DTD中的注釋語法:<!--commentTextHere-->例子:<!--Thisisacomment-->使用注釋對(duì)元素和屬性進(jìn)行清晰的語義說明,可以幫助他人定義符合該DTD的XML文檔.32外部DTDDTD與XML在分離的文件中:例:文件:hello.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmessageSYSTEM"message.dtd"><message> <greeting>Hello,World!</greeting> <farewell>Goodbye,World!</farewell></message>文件:message.dtd<?xmlversion="1.0"encoding="US-ASCII"?><!ELEMENTmessage(greeting,farewell)><!ELEMENTgreeting(#PCDATA)><!ELEMENTfarewell(#PCDATA)>33DTD的缺點(diǎn)沒有類型支持.#PCDATA可以是任意的字符串(標(biāo)記除外)DTD語法不同于XML語法.<!ELEMENTzip(#PCDATA)>有些限制,DTDs不能容易的表達(dá):元素x可以出現(xiàn)4到17次如果元素y的類型是“decimal”,元素y必須包含元素x.XMLSchema解決了許多DTDs的限制.XMLSchema現(xiàn)在是W3C推薦標(biāo)準(zhǔn).對(duì)W3CSchema的支持是新的.包含下列特征:XML語法,強(qiáng)大的類型定義,約束。342.2XML模式(Schema)Schema與DTDDTD的限制:語法限制兩套不兼容的解析器有限的數(shù)據(jù)類型不支持名稱空間Schema:XMLSchema是XML文檔使用名稱空間更多更細(xì)的類型數(shù)據(jù)36DTD與XMLSchema對(duì)比以正整數(shù)的說明為例.DTD說明一個(gè)數(shù)據(jù)量為:<!ELEMENTquantity(#PCDATA)>這個(gè)說明允許用任意字符數(shù)據(jù)量表示。在schema中,數(shù)值量可以說明如下:<xsd:schemaxmlns:xsd='/2001/XMLSchema'><xsd:elementname='quantity'type="xsd:nonNegativeInteger"/><xsd:/schema>例:在XML中,下面的說明都是有效的:<quantity>4</quantity>只有在XMLschema中才能發(fā)現(xiàn)下面的XML是無效的:<quantity>-5</quantity><quantity>lots</quantity>37XMLSchema類型簡單類型:僅封裝了數(shù)字、字符串等簡單數(shù)據(jù),不包含任何子元素的元素,可以自定義,如電話號(hào)碼,是4位數(shù)字-8位數(shù)字復(fù)雜類型:封裝了子元素或?qū)傩缘脑?839簡單類型例子例:Schema聲明: <xs:schema xmlns:xs='/2001/XMLSchema'> <xs:elementname='quantity' type="xs:nonNegativeInteger"/> <xs:/schema>有效XML片斷:<quantity>4</quantity>無效XML片斷:<quantity>-5</quantity><quantity>lots</quantity>nonNegativeInteger是一種內(nèi)建簡單類型.40空元素空元素:既不允許有字符數(shù)據(jù)也不允許有子元素,但可以有屬性值,復(fù)雜類型定義中沒有特殊屬性來表明內(nèi)容為空,只給復(fù)雜類型指定了屬性,而沒有指定內(nèi)容模型,就說明是空元素了。<xs:complexTypename="sizetype"> <xs:attributename="system"type="xs:string"/></xs:complexType>41簡單元素說明當(dāng)類型定義存在時(shí),用下列定義格式(內(nèi)建的或其它)定義。下面是一個(gè)預(yù)定義類型的元素說明,精確地說明了出現(xiàn)次數(shù)。
<xsd:elementname='quantity'type='xsd:nonNegativeInteger'minOccurs='1'maxOccurs='1'/>minOccurs和maxOccurs用于指出元素要求或允許出現(xiàn)的次數(shù)。注意:如果類型名不與schema的缺省命名空間聯(lián)系,類型名必須用命名空間限定。42minOccurs和maxOccurs屬性minOccurs屬性指定組件出現(xiàn)的最小次數(shù)。maxOccurs屬性指定組件出現(xiàn)的最大次數(shù)??梢杂?/p>
minOccurs或
maxOccurs屬性的組件有:Elements.Groups.xsd:all,xsd:sequence和xsd:choicecompositors.Wildcards.兩者的缺省值均為1.如果minOccurs大于maxOccurs為錯(cuò)誤maxOccurs可以用
unbounded表示無限。43例:minOccurs和maxOccurs屬性<xsd:elementname='DNASample'><xsd:complexType><xsd:sequence><xsd:elementname='sample'type='dnaType’ minOccurs=‘2’maxOccurs=‘5'/></xsd:sequence></xsd:complexType></xsd:element>...有效的XML:<DNASample><sample>GATCTATC</sample><sample>ATAAACG</sample></DNASample>無效的XML:<DNASample><sample>ATGCAAT</sample></DNASample>44屬性在XML模式中,你可以采用與聲明元素相同的方式來聲明屬性。在XML模式中聲明屬性可方便XML文檔的信息同化。
屬性聲明可以兩種方式定義:簡單類型定義:可方便屬性信息的局部驗(yàn)證。全局屬性聲明:允許再使用屬性。45聲明屬性在XML模式定義(XSD)中,使用attribute元素聲明用戶定義元素的屬性。
在XSD中聲明屬性的句式如下所示:<attributename="attributename" ref="attributename" type="datatypename" use="value" value="value"></attribute>attribute元素包含用以進(jìn)一步限制和約束用戶定義屬性的作用域和用法的屬性。46attribute
元素attribute
元素包含以下屬性:namereftypeuse47attribute
元素的屬性attribute
元素的屬性:name用來指定用戶自定義屬性的名稱。當(dāng)模式元素是attribute元素的母元素時(shí),必須使用這個(gè)屬性。
name屬性的值不能包含冒號(hào)(:)。name和ref屬性不能同時(shí)出現(xiàn)。48例:name
<xs:attributename="code"><xs:simpleType> <xs:restrictionbase="xs:string"><xs:patternvalue="[A-Z][A-Z]"/></xs:restriction></xs:simpleType></xs:attribute>例子指示"code"屬性有一個(gè)限定。唯一可接受的值是大寫字母A到Z中的兩個(gè)字母。49attribute
元素的屬性attribute
元素的屬性:ref用來引用在相同或其他任一XSD文檔中聲明的一個(gè)用戶定義屬性。如需使用在復(fù)雜類型中一個(gè)已有的屬性定義來聲明一個(gè)屬性,使用ref屬性。name和ref屬性不能同時(shí)出現(xiàn)。50例:ref如需在復(fù)雜類型中使用一個(gè)已有的屬性定義來聲明一個(gè)屬性,使用ref屬性。
<xs:attributename="code"><xs:simpleType><xs:restrictionbase="xs:string"><xs:patternvalue="[A-Z][A-Z]"/></xs:restriction></xs:simpleType></xs:attribute><xs:complexTypename="someComplexType"><xs:attributeref="code"/></xs:complexType>51attribute
元素的屬性attribute
元素的屬性:type
type屬性的值指定用戶定義屬性的數(shù)據(jù)類型。52例:type
<xs:attributename="lang"type="xs:string"default="EN"/>屬性既可以擁有默認(rèn)值,也可以擁有指定的固定值。在沒有其他的值被指定時(shí),會(huì)自動(dòng)向?qū)傩再x予默認(rèn)值。在上面的例子中,默認(rèn)值是“EN”。在下面的例子中,固定值是“EN”。
<xs:attributename="lang" type="xs:string"fixed="EN"/>53attribute
元素的屬性attribute
元素的屬性:use規(guī)定如何使用該屬性。可設(shè)置下面的值:
optional-屬性是可選的并且可以具有任何值(默認(rèn))。prohibited-不能使用屬性。required-屬性是必需的。54例:use所有屬性默認(rèn)都是可選的。如需明確地規(guī)定屬性為可選,使用"use"屬性optional: <xs:attributename="lang"type="xs:string"use="optional"/>Required使屬性成為必需的屬性:<xs:attributename="lang"type="xs:string"use="required"/>55例:屬性說明<xsd:elementname='blank'><xsd:complexType><xsd:attributename='temperature' type='xsd:decimal'fixed='32.0'/></xsd:complexType></xsd:element>有效的XML:<blanktemperature='32.0'/><blank/><!--temperature='32.0'-->無效的XML:<blanktemperature='34.0'/>56全局屬性全局屬性聲明是schema文檔的頂級(jí)結(jié)構(gòu)中,也就是說,它的父元素是schema,那么這些屬性為全局屬性,在模式文檔中必須是唯一的。利用attribute標(biāo)記符的ref屬性來引用。局部屬性聲明只出現(xiàn)在復(fù)雜元素定義中,它們僅能在該元素定義中使用,而不能被其他元素重用。全局屬性可方便屬性的再使用。全局屬性可與簡單和復(fù)雜數(shù)據(jù)類型相關(guān)聯(lián)。全局屬性可作為父元素的模式元素。57全局屬性的例子
<xsd:schemaxmlns:xsd="/2001/XMLSchema">
<xsd:attributename="isbn"type="xsd:string"/>
<xsd:attributename="amount"type="xsd:integer"/>
<xsd:elementname="book">
<xsd:complexType>
<xsd:elementname="price"type="xsd:integer"/>
<xsd:attributeref="isbn"use="required"/>
<xsd:attributeref="amount"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>兩個(gè)屬性——isbn和amount的全局聲明,元素book為一個(gè)復(fù)雜類型,使用ref引用這兩個(gè)全局屬性。58限制(Facets)Facets表述一個(gè)簡單類型的值域或詞匯空間值域–從該類型中抽取部分值.詞匯空間–可以寫的具體詞匯集為了對(duì)可指派給一個(gè)屬性的值施加限制:聲明該屬性并使它與一個(gè)用戶定義簡單數(shù)據(jù)類型相關(guān)聯(lián)。使用XSDsimpleType元素來創(chuàng)建一個(gè)簡單數(shù)據(jù)類型。
在simpleType元素內(nèi)使用XSDrestriction元素,以對(duì)可指派給使用簡單數(shù)據(jù)類型的元素或?qū)傩缘闹凳┘酉拗啤?9限制(Facets)60限制Facets界限界限(只能應(yīng)用于時(shí)間和數(shù)字類型)minExclusive:值必須大于xminInclusive:值必須大于等于xmaxExclusive:值必須小于xmaxInclusive:值必須小于等于x61限制Facets例子聲明:<xs:schemaxmlns:xs:'/2001/XMLSchema'><xs:simpleTypename='quantityType'><xs:restrictionbase='xs:integer'><xs:minInclusivevalue='2'/><xs:maxInclusivevalue='5'/></xs:restriction></xs:simpleType><xs:elementname='quantity'type='quantityType'/></xs:schema>有效的XML片斷:<quantity>4</quantity>無效的XML片斷:<quantity>-6</quantity><quantity>many</quantity>62限制Facet枚舉<schemaxmlns='/2001/XMLSchema'><elementname='color'><simpleType><restrictionbase='string'> <enumerationvalue='red'/> <enumerationvalue='green'/> <enumerationvalue='blue'/></restriction></simpleType></element></schema>有效XML:<color>red</color>無效XML:<color>mauve</color><color>10</color>63活動(dòng):創(chuàng)建一個(gè)XML模式問題描述:CyberShoppe的市場(chǎng)經(jīng)理將公司的產(chǎn)品信息從總公司發(fā)送到了分公司。按照常規(guī),分公司更新這個(gè)文件并將它發(fā)送回總公司。在所有分公司中,必須采用一致的格式存儲(chǔ)產(chǎn)品的詳細(xì)信息。必須對(duì)可保存在數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)類型施加限制,以確保信息的一致性。
CyberShoppe銷售兩種類別的產(chǎn)品:書籍和玩具。產(chǎn)品的詳細(xì)信息包括產(chǎn)品名稱、簡要描述、產(chǎn)品價(jià)格以及現(xiàn)有可用數(shù)量。產(chǎn)品價(jià)格必須始終大于零。除了這些詳細(xì)信息之外,資料存儲(chǔ)器需要存儲(chǔ)類別和產(chǎn)品ID。見教材相關(guān)部分(第二章P.2.25)獨(dú)立完成各項(xiàng)任務(wù)642.3名稱空間(命名空間)XML的名稱空間XML最大的特點(diǎn)就是其擴(kuò)展性,它允許用戶自己定義適合自己的標(biāo)記,這個(gè)特點(diǎn)給了用戶非常大的自由空間,但同時(shí)也出現(xiàn)了標(biāo)記名稱可能重復(fù)的問題。對(duì)于相同名稱的標(biāo)記,解析器在解析的時(shí)候就很難分辨。為了區(qū)分這些標(biāo)記,W3C制定了名稱空間的機(jī)制,即在標(biāo)記或?qū)傩悦智懊婕由线@個(gè)標(biāo)記歸屬。通過這樣的方法,就能夠輕松區(qū)分相同名字的標(biāo)記或?qū)傩浴?667為什么需要名稱空間?考察下面的XML文檔:<catalogEntry> <book>
<title>thisbook</title><isbn>0001</isbn><author>
<title>Dr.</title><lastName>Expert</lastName><firstName>Iman</firstName></author></book></catalogEntry>一個(gè)應(yīng)用如何知道:第一個(gè)title是書名,而第二個(gè)title是人名.名稱空間在XML中,名稱空間是統(tǒng)一資源標(biāo)識(shí)符(URI)指派或可識(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工裝修合同
- 保健按摩店裝修合同監(jiān)管費(fèi)
- 水利行業(yè)水資源管理與水生態(tài)修復(fù)方案
- 專利代理合同書年
- 三農(nóng)村社會(huì)組織創(chuàng)新發(fā)展方案
- 留學(xué)服務(wù)合同
- 品牌營銷策略及市場(chǎng)分析作業(yè)指導(dǎo)書
- 數(shù)字化工廠設(shè)計(jì)與實(shí)施作業(yè)指導(dǎo)書
- 旅游景點(diǎn)智能化管理系統(tǒng)的設(shè)計(jì)與實(shí)施計(jì)劃書
- 三農(nóng)地區(qū)基礎(chǔ)設(shè)施建設(shè)規(guī)劃方案
- 《中國香文化》課件
- 演出經(jīng)紀(jì)人培訓(xùn)
- 蓋房四鄰簽字協(xié)議書范文
- 2024年新人教版七年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件 第六章 幾何圖形初步 數(shù)學(xué)活動(dòng)
- 《新時(shí)代大學(xué)生勞動(dòng)教育》全套教學(xué)課件
- 2024簡易租房合同下載打印
- 碼頭工程施工組織設(shè)計(jì)
- TBSES 001-2024 建設(shè)項(xiàng)目環(huán)境影響后評(píng)價(jià)技術(shù)指南 污染影響類
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)《分橘子》說課稿及反思(共二篇)
- 新能源汽車:電動(dòng)壓縮機(jī)技術(shù)簡介
- 2024年醫(yī)美項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告范文
評(píng)論
0/150
提交評(píng)論