中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

什么是XMLSchema

什么是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)來引用。

您應(yīng)當(dāng)具備的基礎(chǔ)知識(shí)

在繼續(xù)學(xué)習(xí)之前,您需要對(duì)下面的知識(shí)有基本的了解:

  • HTML / XHTML

  • XML 以及 XML 命名空間

  • 對(duì) DTD 的基本了解

如果您希望首先學(xué)習(xí)這些項(xiàng)目,請(qǐng)?jiān)谑醉?訪問這些教程。

什么是 XML Schema?

XML Schema 的作用是定義 XML 文檔的合法構(gòu)建模塊,類似 DTD。

XML Schema:

  • 定義可出現(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 支持?jǐn)?shù)據(jù)類型

XML Schema 最重要的能力之一就是對(duì)數(shù)據(jù)類型的支持。

通過對(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ù)類型的容許值。

XML Schema 使用 XML 語法

另一個(gè)關(guān)于 XML Schema 的重要特性是,它們由 XML 編寫。

由 XML 編寫 XML Schema 有很多好處:

  • 不必學(xué)習(xí)新的語言

  • 可使用 XML 編輯器來編輯 Schema 文件

  • 可使用 XML 解析器來解析 Schema 文件

  • 可通過 XML DOM 來處理 Schema

  • 可通過 XSLT 來轉(zhuǎn)換 Schema

XML Schema 可保護(hù)數(shù)據(jù)通信

當(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ò)展

XML Schema 是可擴(kuò)展的,因?yàn)樗鼈冇?XML 編寫。

通過可擴(kuò)展的 Schema 定義,您可以:

  • 在其他 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)行引用。

一個(gè)簡單的 XML 文檔:

請(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>

DTD 文件

下面這個(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"。

XML Schema

下面這個(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 的引用

此文件包含對(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 的引用

此文件包含對(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://m.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)

微信小程序開發(fā)
定西市| 信阳市| 竹溪县| 安乡县| 思南县| 兴文县| 章丘市| 珲春市| 德州市| 徐汇区| 仙游县| 高雄县| 房山区| 营山县| 荣成市| 安龙县| 江口县| 平果县| 曲阜市| 从江县| 六盘水市| 南澳县| 嘉峪关市| 类乌齐县| 井陉县| 防城港市| 永定县| 北京市| 晋宁县| 垦利县| 齐河县| 年辖:市辖区| 夏邑县| 屯门区| 静宁县| 盐边县| 江陵县| 杂多县| 丰城市| 张掖市| 囊谦县|