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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

WebService入门教程_Schema学习

發布時間:2025/3/19 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。