日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

xml教程之约束schema

發(fā)布時(shí)間:2025/3/20 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xml教程之约束schema 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、簡(jiǎn)介
XML Schema 也是一種用于定義和描述 XML 文檔結(jié)構(gòu)與內(nèi)容的模式語(yǔ)言,其出現(xiàn)是為了克服 DTD 的局限性
XML Schema VS DTD:
XML Schema符合XML語(yǔ)法結(jié)構(gòu)。
DOM、SAX等XML API很容易解析出XML Schema文檔中的內(nèi)容。
XML Schema對(duì)名稱空間支持得非常好。
XML Schema比XML DTD支持更多的數(shù)據(jù)類型,并支持用戶自定義新的數(shù)據(jù)類型。
XML Schema定義約束的能力非常強(qiáng)大,可以對(duì)XML實(shí)例文檔作出細(xì)致的語(yǔ)義限制。
XML Schema不能像DTD一樣定義實(shí)體,比DTD更復(fù)雜,但Xml Schema現(xiàn)在已是w3c組織的標(biāo)準(zhǔn),它正逐步取代DTD。

2、快速入門(mén)
XML Schema 文件自身就是一個(gè)XML文件,但它的擴(kuò)展名通常為.xsd。
一個(gè)XML Schema文檔通常稱之為模式文檔(約束文檔),遵循這個(gè)文檔書(shū)寫(xiě)的xml文件稱之為實(shí)例文檔。
和XML文件一樣,一個(gè)XML Schema文檔也必須有一個(gè)根結(jié)點(diǎn),但這個(gè)根結(jié)點(diǎn)的名稱為schema。
編寫(xiě)了一個(gè)XML Schema約束文檔后,通常需要把這個(gè)文件中聲明的元素綁定到一個(gè)URI地址上,在XML Schema技術(shù)中有一個(gè)專業(yè)術(shù)語(yǔ)來(lái)描述這個(gè)過(guò)程,即把XML Schema文檔聲明的元素綁定到一個(gè)名稱空間上,以后XML文件就可以通過(guò)這個(gè)URI(即名稱空間)來(lái)告訴解析引擎,xml文檔中編寫(xiě)的元素來(lái)自哪里,被誰(shuí)約束。

案例:

<?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” //標(biāo)準(zhǔn)的名稱空間targetNamespace=“http://www. sihai.cn” //將該schema文檔綁定到http://www.sihai.cn名稱空間elementFormDefault="qualified"><xs:element name='書(shū)架' ><xs:complexType><xs:sequence maxOccurs='unbounded' ><xs:element name='書(shū)' ><xs:complexType><xs:sequence><xs:element name='書(shū)名' type='xs:string' /><xs:element name='作者' type='xs:string' /><xs:element name='售價(jià)' type='xs:string' /></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element> </xs:schema> <?xml version="1.0" encoding="UTF-8"?><itcast:書(shū)架 xmlns:sihai="http://www.sihai.cn"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“http://www.sihai.cn book.xsd"><sihai:書(shū)><sihai:書(shū)名>JavaScript</sihai:書(shū)名><sihai:作者>sihai</sihai:作者><sihai:售價(jià)>458.00元</sihai:售價(jià)></sihai:書(shū)> </sihai:書(shū)架>

3、命名空間
在XML Schema中,每個(gè)約束模式文檔都可以被賦以一個(gè)唯一的名稱空間,名稱空間用一個(gè)唯一的URI(Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符)表示。 在Xml文件中書(shū)寫(xiě)標(biāo)簽時(shí),可以通過(guò)名稱空間聲明(xmlns),來(lái)聲明當(dāng)前編寫(xiě)的標(biāo)簽來(lái)自哪個(gè)Schema約束文檔。如:
<sihai:書(shū)架 xmlns:sihai=“http://www.sihai.cn”>
sihai:書(shū)……</sihai:書(shū)>
</sihai:書(shū)架>
此處使用sihai來(lái)指向聲明的名稱,以便于后面對(duì)名稱空間的引用。
注意:名稱空間的名字語(yǔ)法容易讓人混淆,盡管以 http:// 開(kāi)始,那個(gè) URL 并不指向一個(gè)包含模式定義的文件。事實(shí)上,這個(gè) URL:http://www.sihai.cn根本沒(méi)有指向任何文件,只是一個(gè)分配的名字。

為了在一個(gè)XML文檔中聲明它所遵循的Schema文件的具體位置,通常需要在Xml文檔中的根結(jié)點(diǎn)中使用schemaLocation屬性來(lái)指定,例如:
<sihai:書(shū)架 xmlns:sihai=“http://www.sihai.cn”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://www.sihai.cn book.xsd">
schemaLocation此屬性有兩個(gè)值。第一個(gè)值是需要使用的命名空間。第二個(gè)值是供命名空間使用的 XML schema 的位置,兩者之間用空格分隔。
注意,在使用schemaLocation屬性時(shí),也需要指定該屬性來(lái)自哪里。

4、默認(rèn)命名空間
基本格式:
xmlns=“URI”
舉例:

<書(shū)架 xmlns="http://www.sihai.org/xmlbook/schema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“http://www.sihai.org/xmlbook/schema book.xsd"><書(shū)><書(shū)名>JavaScript</書(shū)名><作者>sihai</作者><售價(jià)>47元</售價(jià)></書(shū)><書(shū)架>

文件清單:xmlbook.xml

<?xml version="1.0" encoding="UTF-8"?>

<書(shū)架 xmlns=“http://www.it315.org/xmlbook/schema”
xmlns:demo=“http://www.it315.org/demo/schema”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://www.it315.org/xmlbook/schema http://www.it315.org/xmlbook.xsd
http://www.it315.org/demo/schema http://www.it315.org/demo.xsd”>
<書(shū)>
<書(shū)名>JavaScript網(wǎng)頁(yè)開(kāi)發(fā)</書(shū)名>
<作者>張孝祥</作者>
<售價(jià) demo:幣種=”人民幣”>28.00元</售價(jià)>
</書(shū)>
</書(shū)架>

<?xml version="1.0" encoding="UTF-8"?><書(shū)架 xmlns="http://www.sihai.org/xmlbook/schema" xmlns:demo="http://www.sihai.org/demo/schema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.sihai.org/xmlbook/schema http://www.sihai.org/xmlbook.xsd http://www.sihai.org/demo/schema http://www.sihai.org/demo.xsd"><書(shū)><書(shū)名>JavaScript</書(shū)名><作者>sihai</作者><售價(jià)>47元</售價(jià)></書(shū)> <書(shū)架>

總結(jié)

以上是生活随笔為你收集整理的xml教程之约束schema的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。