WebService入门教程_Schema学习
場景
項目專欄:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/37726
實現
XML Schema
XML Schema 也是一種用于定義和描述 XML 文檔結構與內容的模式語言,其出現是為了克服 DTD 的局限性
XML Schema VS DTD:
XML Schema符合XML語法結構。
DOM、SAX等XML API很容易解析出XML Schema文檔中的內容。
XML Schema對名稱空間支持得非常好。
XML Schema比XML DTD支持更多的數據類型,并支持用戶自定義新的數據類型。
XML Schema定義約束的能力非常強大,可以對XML實例文檔作出細致的語義限制。
XML Schema不能像DTD一樣定義實體,比DTD更復雜,但Xml Schema現在已是w3c組織的標準,它正逐步取代DTD。?
名稱空間的概念
在XML Schema中,每個約束模式文檔都可以被賦以一個唯一的名稱空間,名稱空間用一個唯一的URI(Uniform Resource Identifier,統一資源標識符)表示。 在Xml文件中書寫標簽時,可以通過名稱空間聲明(xmlns),來聲明當前編寫的標簽來自哪個Schema約束文檔。
targetNamespace用于指定schema文檔中聲明的元素關聯到哪個名稱空間。
elementFormDefault用于指定,是否將所有聲明的元素和屬性都關聯到指定的命名空間, qualified代表是,unqualified代表只關聯根元素
舉例:
<?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.badao.cn"elementFormDefault="qualified"><element name="書架"><complexType><sequence maxOccurs="unbounded"><element name="書"><complexType><sequence><element name="書名" type="string" /><element name="作者" type="string" /><element name="售價" type="string" /></sequence></complexType></element></sequence></complexType></element> </schema>注意:名稱空間的名字語法容易讓人混淆,盡管以 http:// 開始,那個 URL 并不指向一個包含模式定義的文件。事實上,這個 URL:http://www.badao.cn根本沒有指向任何文件,只是一個分配的名字。
使用命名空間引入Schema
為了在一個XML文檔中聲明它所遵循的Schema文件的具體位置,通常需要在Xml文檔中的根結點中使用schemaLocation屬性來指定。
比如:
<?xml version="1.0" encoding="UTF-8"?><書架 xmlns="http://www.badao.cn"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.badao.cn book.xsd"><書><書名>WebService學習</書名><作者>霸道</作者><售價>128.00元</售價></書> </書架>1.schemaLocation此屬性有兩個值。第一個值是需要使用的命名空間。第二個值是供命名空間使用的 XML schema 的位置,兩者之間用空格分隔。
2.xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"這是固定的。
3.如何引入一個Schema約束:
?? 屬性:用xmls屬性
?? 屬性值:對應的schema文件的id(namespace值)
4.如果引入的schema不是w3c組織定義,必須指定schema文件的位置。
5.schema文件的位置由什么屬性來指定
??? 屬性:schemaLocation
??? 屬性值:namespace path
搭建示例項目
新建項目,項目下新建包,包下新建文件book.xsd
<?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema"targetNamespace="http://www.badao.cn"elementFormDefault="qualified"><element name="書架"><complexType><sequence maxOccurs="unbounded"><element name="書"><complexType><sequence><element name="書名" type="string" /><element name="作者" type="string" /><element name="售價" type="string" /></sequence></complexType></element></sequence></complexType></element> </schema>包下再新建book.xml
<?xml version="1.0" encoding= "UTF-8"?><書架 xmlns="http://www.badao.cn"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.badao.cn book.xsd"><書><書名>WebService學習</書名><作者>霸道</作者><售價>128.00元</售價></書> </書架>示例代碼下載
https://download.csdn.net/download/badao_liumang_qizhi/11150336
總結
以上是生活随笔為你收集整理的WebService入门教程_Schema学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebService入门简介教程
- 下一篇: WebService入门教程_HTTP协