亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網(wǎng)

XSD教程

XSD教程

XSD(代表:XML Schema Definition)是一種精確描述XML語言的方法。 XSD根據(jù)相應XML語言的語法規(guī)則檢查XML文檔的結(jié)構(gòu)和詞匯的有效性。

XML Schema Definition 縮寫.可擴展標記語言架構(gòu)是以可擴展標記語言(標準通用標記語言的子集)為基礎的,它用于可替代文檔類型定義(外語縮寫:DTD);一份XML schema文件描述了可擴展標記語言文檔的結(jié)構(gòu)。

定義編輯

它的作用是定義一份XML文檔的合法組件群,就像文檔類型定義(外語縮寫:DTD)的作用一樣,一份XML Schema定義了:

  • 可以出現(xiàn)在文檔里的元素;

  • 可以出現(xiàn)在文檔里的屬性;

  • 哪些元素是子元素;

  • 子元素的順序;

  • 子元素的數(shù)量;

  • 一個元素應是否能包含文本,或應該是空的;

  • 元素和屬性的數(shù)據(jù)類型;

  • 元素和屬性的默認值和固定值。

優(yōu)點

XML Schema 比 DTD 更強大。

其優(yōu)勢包括以下幾點:

1、支持數(shù)據(jù)類型

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

  • 可更容易地描述允許的文檔內(nèi)容

  • 可更容易地驗證數(shù)據(jù)的正確性

  • 可更容易地與來自數(shù)據(jù)庫的數(shù)據(jù)一并工作

  • 可更容易地定義數(shù)據(jù)約束(data facets)

  • 可更容易地定義數(shù)據(jù)模型(或稱數(shù)據(jù)格式)

  • 可更容易地在不同的數(shù)據(jù)類型間轉(zhuǎn)換數(shù)據(jù)

2、它使用 XML 語法

另一個關于 XML Schema 的重要特性是,它們由 XML 編寫。由 XML 編寫 XML Schema 有很多好處:

  • 不必學習新的語言

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

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

  • 可通過 XML DOM 來處理 Schema

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

3、可保護數(shù)據(jù)通信

當數(shù)據(jù)從發(fā)送方被發(fā)送到接受方時,其要點是雙方應有關于內(nèi)容的相同的"期望值"。

通過 XML Schema,發(fā)送方可以用一種接受方能夠明白的方式來描述數(shù)據(jù)。

一種數(shù)據(jù),比如 "03-11-2004",在某些國家被解釋為11月3日,而在另一些國家為當作3月11日。

但是一個帶有數(shù)據(jù)類型的 XML 元素,比如:<date type="date">2004-03-11</date>,可確保對內(nèi)容一致的理解,這是因為 XML 的數(shù)據(jù)類型 "date" 要求的格式是 "YYYY-MM-DD"。

4、可擴展性

XML Schema 是可擴展的,因為它們由 XML 編寫。

通過可擴展的 Schema 定義,您可以:

  • 在其他 Schema 中重復使用您的 Schema

  • 創(chuàng)建由標準類型衍生而來的您自己的數(shù)據(jù)類型

  • 在相同的文檔中引用多重的 Schema

5、可捕獲到錯誤

即使文檔的形式良好,仍然不能保證它們不會包含錯誤,并且這些錯誤可能會產(chǎn)生嚴重的后果。

請考慮下面的情況:您訂購的了 5 打激光打印機,而不是 5 臺。通過 XML Schema,大部分這樣的錯誤會被您的驗證軟件捕獲到。

缺點

雖然被寫入XML是一個優(yōu)勢,在某些方面也是一個缺點。W3C XML Schema語言特別是可能非常冗長,而DTD可以簡潔且相對容易編輯。

W3C XML Schema沒有實現(xiàn)大部分提供的數(shù)據(jù)元素到文檔的DTD能力。

繼承性編輯

XML Schema可能很快就會替代文檔類型定義(外語縮寫:DTD)在大多數(shù)的網(wǎng)絡應用程序中被廣泛使用。

  • 針對將來的額外內(nèi)容是可擴展的;

  • 內(nèi)容比文檔類型定義(外語縮寫:DTD)豐富,作用也更大;

  • 是以XML語言編寫而成的;

  • 支持數(shù)據(jù)類型;

  • 支持名稱空間(外語:namespaces);

本教程將教您XSD的基礎知識,本教程通過相關示例討論XSD的所有基本組件。

返回頂部