日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

xml教程之约束schema

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

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

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

案例:

<?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” //標準的名稱空間targetNamespace=“http://www. sihai.cn” //將該schema文檔綁定到http://www.sihai.cn名稱空間elementFormDefault="qualified"><xs:element name='書架' ><xs:complexType><xs:sequence maxOccurs='unbounded' ><xs:element name='書' ><xs:complexType><xs:sequence><xs:element name='書名' type='xs:string' /><xs:element name='作者' type='xs:string' /><xs:element name='售價' 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:書架 xmlns:sihai="http://www.sihai.cn"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“http://www.sihai.cn book.xsd"><sihai:書><sihai:書名>JavaScript</sihai:書名><sihai:作者>sihai</sihai:作者><sihai:售價>458.00元</sihai:售價></sihai:書> </sihai:書架>

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

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

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

<書架 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"><書><書名>JavaScript</書名><作者>sihai</作者><售價>47元</售價></書><書架>

文件清單:xmlbook.xml

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

<書架 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”>
<書>
<書名>JavaScript網(wǎng)頁開發(fā)</書名>
<作者>張孝祥</作者>
<售價 demo:幣種=”人民幣”>28.00元</售價>
</書>
</書架>

<?xml version="1.0" encoding="UTF-8"?><書架 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"><書><書名>JavaScript</書名><作者>sihai</作者><售價>47元</售價></書> <書架>

總結(jié)

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

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