什么是XML Schema?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
新城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 可描述 XML 文檔的結(jié)構(gòu)。
XML Schema 語言也可作為 XSD(XML Schema Definition)來引用。
在繼續(xù)學(xué)習(xí)之前,您需要對(duì)下面的知識(shí)有基本的了解:
HTML / XHTML
XML 以及 XML 命名空間
對(duì) DTD 的基本了解
如果您希望首先學(xué)習(xí)這些項(xiàng)目,請(qǐng)?jiān)谑醉?訪問這些教程。
XML Schema 的作用是定義 XML 文檔的合法構(gòu)建模塊,類似 DTD。
定義可出現(xiàn)在文檔中的元素
定義可出現(xiàn)在文檔中的屬性
定義哪個(gè)元素是子元素
定義子元素的次序
定義子元素的數(shù)目
定義元素是否為空,或者是否可包含文本
定義元素和屬性的數(shù)據(jù)類型
定義元素和屬性的默認(rèn)值以及固定值
XML Schema 是 DTD 的繼任者
我們認(rèn)為 XML Schema 很快會(huì)在大部分網(wǎng)絡(luò)應(yīng)用程序中取代 DTD。
理由如下:
XML Schema 可針對(duì)未來的需求進(jìn)行擴(kuò)展
XML Schema 更完善,功能更強(qiáng)大
XML Schema 基于 XML 編寫
XML Schema 支持?jǐn)?shù)據(jù)類型
XML Schema 支持命名空間
為什么使用XML Schema?
XML Schema 比 DTD 更強(qiáng)大。
XML Schema 最重要的能力之一就是對(duì)數(shù)據(jù)類型的支持。
可更容易地描述允許的文檔內(nèi)容
可更容易地驗(yàn)證數(shù)據(jù)的正確性
可更容易地與來自數(shù)據(jù)庫的數(shù)據(jù)一并工作
可更容易地定義數(shù)據(jù)約束(data facets)
可更容易地定義數(shù)據(jù)模型(或稱數(shù)據(jù)格式)
可更容易地在不同的數(shù)據(jù)類型間轉(zhuǎn)換數(shù)據(jù)
編者注:數(shù)據(jù)約束,或稱 facets,是 XML Schema 原型中的一個(gè)術(shù)語,中文可譯為“面”,用來約束數(shù)據(jù)類型的容許值。
另一個(gè)關(guān)于 XML Schema 的重要特性是,它們由 XML 編寫。
不必學(xué)習(xí)新的語言
可使用 XML 編輯器來編輯 Schema 文件
可使用 XML 解析器來解析 Schema 文件
可通過 XML DOM 來處理 Schema
可通過 XSLT 來轉(zhuǎn)換 Schema
當(dāng)數(shù)據(jù)從發(fā)送方被發(fā)送到接受方時(shí),其要點(diǎn)是雙方應(yīng)有關(guān)于內(nèi)容的相同的“期望值”。
通過 XML Schema,發(fā)送方可以用一種接受方能夠明白的方式來描述數(shù)據(jù)。
一種數(shù)據(jù),比如 "03-11-2004",在某些國家被解釋為11月3日,而在另一些國家為當(dāng)作3月11日。
但是一個(gè)帶有數(shù)據(jù)類型的 XML 元素,比如:<date type="date">2004-03-11</date>,可確保對(duì)內(nèi)容一致的理解,這是因?yàn)?XML 的數(shù)據(jù)類型 "date" 要求的格式是 "YYYY-MM-DD"。
XML Schema 是可擴(kuò)展的,因?yàn)樗鼈冇?XML 編寫。
在其他 Schema 中重復(fù)使用您的 Schema
創(chuàng)建由標(biāo)準(zhǔn)類型衍生而來的您自己的數(shù)據(jù)類型
在相同的文檔中引用多重的 Schema
我們把符合 XML 語法的文檔稱為形式良好的 XML 文檔,比如:
它必須以 XML 聲明開頭
它必須擁有唯一的根元素
開始標(biāo)簽必須與結(jié)束標(biāo)簽相匹配
元素對(duì)大小寫敏感
所有的元素都必須關(guān)閉
所有的元素都必須正確地嵌套
必須對(duì)特殊字符使用實(shí)體
即使文檔的形式良好,仍然不能保證它們不會(huì)包含錯(cuò)誤,并且這些錯(cuò)誤可能會(huì)產(chǎn)生嚴(yán)重的后果。
請(qǐng)考慮下面的情況:您訂購的了 5 打激光打印機(jī),而不是 5 臺(tái)。通過 XML Schema,大部分這樣的錯(cuò)誤會(huì)被您的驗(yàn)證軟件捕獲到。
如何使用XML Schema
XML 文檔可對(duì) DTD 或 XML Schema 進(jìn)行引用。
請(qǐng)看這個(gè)名為 "note.xml" 的 XML 文檔:
<?xml version="1.0"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
下面這個(gè)例子是名為 "note.dtd" 的 DTD 文件,它對(duì)上面那個(gè) XML 文檔的元素進(jìn)行了定義:
<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
第 1 行定義 note 元素有四個(gè)子元素:"to, from, heading, body"。
第 2-5 行定義了 to, from, heading, body 元素的類型是 "#PCDATA"。
下面這個(gè)例子是一個(gè)名為 "note.xsd" 的 XML Schema 文件,它定義了上面那個(gè) XML 文檔的元素:
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
note 元素是一個(gè)復(fù)合類型,因?yàn)樗渌淖釉?。其他元?(to, from, heading, body) 是簡易類型,因?yàn)樗鼈儧]有包含其他元素。您將在下面的章節(jié)學(xué)習(xí)更多有關(guān)復(fù)合類型和簡易類型的知識(shí)。
此文件包含對(duì) DTD 的引用:
<?xml version="1.0"?><!DOCTYPE note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd"><note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
此文件包含對(duì) XML Schema 的引用:
<?xml version="1.0"?> <note xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.w3school.com.cn note.xsd"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
看完上述內(nèi)容,你們掌握什么是XML Schema的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:什么是XMLSchema
分享鏈接:http://www.rwnh.cn/article14/peddde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、自適應(yīng)網(wǎng)站、小程序開發(fā)、Google、定制網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)