什么是XML Schema?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),天柱網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:天柱等地區(qū)。天柱做網(wǎng)站價(jià)格咨詢:028-86922220XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 可描述 XML 文檔的結(jié)構(gòu)。
XML Schema 語(yǔ)言也可作為 XSD(XML Schema Definition)來(lái)引用。
在繼續(xù)學(xué)習(xí)之前,您需要對(duì)下面的知識(shí)有基本的了解:
HTML / XHTML
XML 以及 XML 命名空間
對(duì) DTD 的基本了解
如果您希望首先學(xué)習(xí)這些項(xiàng)目,請(qǐng)?jiān)?首頁(yè) 訪問(wè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ì)未來(lái)的需求進(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ù)的正確性
可更容易地與來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)一并工作
可更容易地定義數(shù)據(jù)約束(data facets)
可更容易地定義數(shù)據(jù)模型(或稱數(shù)據(jù)格式)
可更容易地在不同的數(shù)據(jù)類型間轉(zhuǎn)換數(shù)據(jù)
編者注:數(shù)據(jù)約束,或稱 facets,是 XML Schema 原型中的一個(gè)術(shù)語(yǔ),中文可譯為“面”,用來(lái)約束數(shù)據(jù)類型的容許值。
另一個(gè)關(guān)于 XML Schema 的重要特性是,它們由 XML 編寫。
不必學(xué)習(xí)新的語(yǔ)言
可使用 XML 編輯器來(lái)編輯 Schema 文件
可使用 XML 解析器來(lái)解析 Schema 文件
可通過(guò) XML DOM 來(lái)處理 Schema
可通過(guò) XSLT 來(lái)轉(zhuǎn)換 Schema
當(dāng)數(shù)據(jù)從發(fā)送方被發(fā)送到接受方時(shí),其要點(diǎn)是雙方應(yīng)有關(guān)于內(nèi)容的相同的“期望值”。
通過(guò) XML Schema,發(fā)送方可以用一種接受方能夠明白的方式來(lái)描述數(shù)據(jù)。
一種數(shù)據(jù),比如 "03-11-2004",在某些國(guó)家被解釋為11月3日,而在另一些國(guó)家為當(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)類型衍生而來(lái)的您自己的數(shù)據(jù)類型
在相同的文檔中引用多重的 Schema
我們把符合 XML 語(yǔ)法的文檔稱為形式良好的 XML 文檔,比如:
它必須以 XML 聲明開頭
它必須擁有唯一的根元素
開始標(biāo)簽必須與結(jié)束標(biāo)簽相匹配
元素對(duì)大小寫敏感
所有的元素都必須關(guān)閉
所有的元素都必須正確地嵌套
必須對(duì)特殊字符使用實(shí)體
即使文檔的形式良好,仍然不能保證它們不會(huì)包含錯(cuò)誤,并且這些錯(cuò)誤可能會(huì)產(chǎn)生嚴(yán)重的后果。
請(qǐng)考慮下面的情況:您訂購(gòu)的了 5 打激光打印機(jī),而不是 5 臺(tái)。通過(guò) 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)樗渌淖釉亍F渌?(to, from, heading, body) 是簡(jiǎn)易類型,因?yàn)樗鼈儧](méi)有包含其他元素。您將在下面的章節(jié)學(xué)習(xí)更多有關(guān)復(fù)合類型和簡(jiǎn)易類型的知識(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)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
本文名稱:什么是XMLSchema-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article36/jgepg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、外貿(mào)建站、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、靜態(tài)網(wǎng)站、App設(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容