當前位置:才華齋>IT認證>IBM認證>

XML認證知識點:XML Schema

IBM認證 閱讀(7.5K)

XML(XML培訓 程式語言培訓 ) Schema如同DTD一樣是負責定義和描述XML文件的結構和內容模式。它可以定義XML文件中存在哪些元素和元素之間的關係,並且可以定義元素和屬性的資料型別。

XML認證知識點:XML Schema

  什麼是XML Schema

XML Schema如同DTD一樣是負責定義和描述XML文件的結構和內容模式。它可以定義XML文件中存在哪些元素和元素之間的關係,並且可以定義元素和屬性的資料型別。

XML Schema本身是一個XML文件,它符合XML語法結構。可以用通用的XML解析器解析它。

  為什麼要使用Schema

我們前面已經使用DTD來定義一個XML的結構和資料型別,那為什麼還要Schema呢?

因DTD有著不少缺陷:

1) DTD是基於正則表示式的,描述能力有限;

2) DTD沒有資料型別的支援,在大多數應用環境下能力不足;

3) DTD的約束定義能力不足,無法對XML實例文檔作出更細緻的語義限制;

4) DTD的結構不夠結構化,重用的代價相對較高;

5) DTD並非使用XML作為描述手段,而DTD的構建和訪問並沒有標準的程式設計介面,無法使用標準的程式設計方式進行DTD維護。

而XML Schema正是針對這些DTD的缺點而設計的,XML Schema的`優點:

1) XML Schema基於XML,沒有專門的語法

2) XML可以象其他XML檔案一樣解析和處理

3) XML Schema支援一系列的資料型別(int、float、Boolean、date等)

4) XML Schema提供可擴充的資料模型。

5) XML Schema支援綜合名稱空間

6) XML Schema支援屬性組。

  Schema中的型別

Schema中主要包括三種部件:元素(element)、屬性(attribute)、註釋(notation)。

這三種基本的部件還能組合成以下的部件:

a)型別定義部件: 簡單型別和複合型別

b)組部件

c)屬性組部件

所有內建的簡單型別

原始型別

string,boolean,decimal,float,double,durationdatetime,time,date,gYearMonth,gYear,gMonthDay,dDay,gMonth,hexBinary,base64Binary,any URI,QNameNOTATION

衍生型別(括號中為基型別)

normalizedString(string),language(tonken),token(normalizedString)NMTOKEN(token),Name(token),NCName(Name),ID(NCName),IDREF(NCName)IDREFS(list of IDREF),ENTITY(NCName),ENTITIES(list of ENTITY)integer(decimal),nonPositiveInteger(integer),negativeInteger(noPositiveInteger),long(integer),int(long),short(int),byte(short),nonNegativeInteger(integer)unsignedLong(nonNegativeInteger),unsignedInt(unsignedLong),unsignedShort(unsignedInt),unsignedByte(unsignedShort),positiveInteger(nonNegativeInteger)