DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML Schema 簡介
XML Schema 簡介
編輯:XML詳解     

 XML Schema與DTD(DTD語法概述)一樣,也是對一類XML文檔進行約束、確定其結構,元素、屬性、及數據類型。及XML文檔中所使用的元素,實體,元素的屬性,元素與實體之間的關系的約束。XML Schema 首先由微軟提出,已經被W3C接受成為一個標准。與DTD不同的是,XML Schema 文件使用XML語法,它的設計目的很許多跟DTD相似,但在功能,擴展性方面超越了DTD。下面說說它們之間的一些區別:

   一.XML Schema 是XML文檔,不像DTD有其特有的語法。對開發人員來說,你不需要懂兩種語法就能編寫一個格式良好的XML文檔。對開發XML分析器來說,XML Schema由於也是XML語法,實現及支持起來就更方便了。同時XML Schema 繼承了XML可擴展的優點。

  二.定義數據類型。在一個DTD文件中只能把數據聲明為字符串類型或字符串類型的子元素,如PCDATA、CDATA、ID等。而在XML Schema 中,可以定義跟編程語言同樣豐富的數據類型,如整型,浮點型,布爾型,日期型等。這樣的好處是顯而易見的,在你編寫程序使用一個整型數據時,如用DTD定義的,就必須將它從字符型轉化為整型,而XML Schema 則可以直接定義為整型。

  三.XML Schema是一個開放的模型。如下面的一個XML文檔:

<item>
 <name>TG/DTLatte</name>
 <quantity>1</quantity>
 <price>2.00</price>
</item>
下面是它的DTD及Schema描述:

  DTD:

<!ELEMENTname(#PCDATA)>
<!ELEMENTquantity(#PCDATA)>
<!ELEMENTprice(#PCDATA)>
<!ELEMENTitem(name,quantity,price)>

  schema:

<ElementTypename="name"/>
<ElementTypename="quantity"dt:type="int"/>>
<ElementTypename="price"dt:type="fixed.14.4"/>
<ElementTypename="item"model="open">
 <elementtype="name"/>
 <elementtype="quantity"/>
 <elementtype="price"/>
</ElementType>
當上面的XML文檔增加一條<myItem:time>10:21 PDT</myItem:time>元素變為:<itemXMLns:myItm="urn:myItems">
 <name>TG/DTLatte</name>
 <quantity>1</quantity>
 <price>2.00</price>
 <myItem:time>10:21PDT</myItem:time>
</item>
以上的DTD將會引發一個驗證錯誤,而Schema則不會。

  四.命名空間的集成。一個XML文檔只能由一個DTD文檔來描述,而可以由多個XML Schema文檔來描述。後者完全支持命名空間。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved