最新的Web開發教程
 

XML架構教程


什麼是XML架構?

XML模式描述XML文檔的結構。

XML模式語言也稱為XML模式定義(XSD)

XSD示例

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

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

XML模式的目的是定義XML文檔的合法積木:

  • 可以出現在文檔中的元素和屬性
  • 的數量(and order of)子元素
  • 數據類型元素和屬性
  • 元素和屬性的默認值和固定值

為什麼要學習XML模式?

在XML的世界裡,數以百計的標準化的XML格式在日常使用。

許多這些XML標準是由XML模式定義。

XML Schema是基於XML的(and more powerful)的替代DTD。


XML架構支持的數據類型

一個XML架構的最大優勢是數據類型的支持。

  • 這是比較容易描述允許的文檔內容
  • 這是比較容易驗證數據的正確性
  • 這是比較容易確定數據刻面(restrictions on data)
  • 這是比較容易定義數據模式(data formats)
  • 這是比較容易的不同數據類型之間的數據轉換

XML模式使用XML語法

有關XML架構的另一個偉大的力量在於都寫在XML。

  • 你不必去學習一門新語言
  • 您可以使用XML編輯器來編輯Schema文件
  • 您可以使用XML解析器解析Schema文件
  • 您可以使用XML DOM操作你的架構
  • 你可以用XSLT轉換的模式

XML模式是可擴展的,因為他們是用XML編寫的。

有了一個可擴展的架構定義,您可以:

  • 重用其他架構的架構
  • 創建自己的數據類型從標準衍生類型
  • 參考多個模式在同一文件中

XML架構安全數據通信

當從發送器向接收器發送數據時,至關重要的是,這兩個部分具有相同的"expectations"有關的內容。

用XML模式,發送者可以在一個方式,接收器會理解描述數據。

一個日期,如: "03-11-2004"會,在一些國家,被解釋為3.November和在其他國家11.March。

然而,這樣的數據類型的XML元素:

<date type="date">2004-03-11</date>

保證了內容的相互理解,因為XML數據類型"date"要求的格式"YYYY-MM-DD"


合式是不夠的

格式良好的XML文檔是符合XML語法規則,就像一個文件:

  • 它必須以XML聲明開始
  • 它必須有一個唯一的根元素
  • 起始標籤必須有匹配的結束標記
  • 元素是區分大小寫
  • 所有元素都必須被關閉
  • 所有的元素必須正確地嵌套
  • 所有屬性值必須加引號
  • 實體必須使用特殊字符

即使是格式良好的文檔,他們仍然可以包含錯誤,這些錯誤可能會造成嚴重後果。

想想以下情況:您訂購5毛激光打印機,而不是5激光打印機。 在XML Schema,大多數這樣的錯誤會由檢驗軟件捕獲。