真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

XMLSchema怎么用

這篇文章給大家分享的是有關(guān)XML Schema怎么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站IDC提供業(yè)務(wù):德陽服務(wù)器托管,成都服務(wù)器租用,德陽服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。

XML Schema如同DTD一樣是負(fù)責(zé)定義和描述XML文檔的結(jié)構(gòu)和內(nèi)容模式。它可以定義XML文檔中存在哪些元素和元素之間的關(guān)系,并且可以定義元素和屬性的數(shù)據(jù)類型。

什么是XML Schema

XML Schema如同DTD一樣是負(fù)責(zé)定義和描述XML文檔的結(jié)構(gòu)和內(nèi)容模式。它可以定義XML文檔中存在哪些元素和元素之間的關(guān)系,并且可以定義元素和屬性的數(shù)據(jù)類型。

XML Schema本身是一個XML文檔,它符合XML語法結(jié)構(gòu)??梢杂猛ㄓ玫腦ML解析器解析它。

為什么要使用Schema

我們前面已經(jīng)使用DTD來定義一個XML的結(jié)構(gòu)和數(shù)據(jù)類型,那為什么還要Schema呢?

因DTD有著不少缺陷:

1) DTD是基于正則表達(dá)式的,描述能力有限;

2) DTD沒有數(shù)據(jù)類型的支持,在大多數(shù)應(yīng)用環(huán)境下能力不足;

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

4) DTD的結(jié)構(gòu)不夠結(jié)構(gòu)化,重用的代價相對較高;

5) DTD并非使用XML作為描述手段,而DTD的構(gòu)建和訪問并沒有標(biāo)準(zhǔn)的編程接口,無法使用標(biāo)準(zhǔn)的編程方式進(jìn)行DTD維護(hù)。

而XML Schema正是針對這些DTD的缺點而設(shè)計的,XML Schema的優(yōu)點:

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

2) XML可以象其他XML文件一樣解析和處理

3) XML Schema支持一系列的數(shù)據(jù)類型(int、float、Boolean、date等)

4) XML Schema提供可擴充的數(shù)據(jù)模型。

5) XML Schema支持綜合命名空間

6) XML Schema支持屬性組。

一個簡單的XML Schema文檔

XML Schema怎么用

在這個Schema里面定義了一個元素:quantity,它的類型是nonNegativeInteger(非負(fù)整數(shù)),xmlns是Schema的命名空間,這在前面第3部分已經(jīng)敘述過了。

下面的XML片段是合法的:

5

下面的XML片段是非法的:

-4

Schema中的類型

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

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

a)類型定義部件: 簡單類型和復(fù)合類型

b)組部件

c)屬性組部件

簡單類型

XML Schema怎么用

XML Schema中定義了一些內(nèi)建的數(shù)據(jù)類型,這些類型可以用來描述元素的內(nèi)容和屬性值。

一個元素中如果僅僅包含數(shù)字、字符串或其他數(shù)據(jù),但不包括子元素,這種被稱為簡單類型。

如同圖中元素quantity就是一個簡單類型。它的元素內(nèi)容必須是非負(fù)整數(shù),不包括任何屬性和子元素。

some

所有內(nèi)建的簡單類型

原始類型

string,boolean,decimal,float,double,duration
datetime,time,date,gYearMonth,gYear,gMonthDay,
dDay,gMonth,hexBinary,base64Binary,any URI,QName
NOTATION

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

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)

創(chuàng)建簡單類型

XML Schema怎么用

圖中我們先創(chuàng)建了一個簡單類型:quantityType,它是從integer繼承過來的,minInclusive和maxInclusive定義了它的最小值2和最大值5。最后我們定義元素quantity的類型為quantityType。

正確:  3
錯誤:  10
aaa

使用restriction我們可以限制只能接受一定數(shù)值或者只能接受一定文字,

基本方面:equal,ordered,bounded,cardinality,numeric
限制方面:length,minLength,maxLength
pattern,enumeration
whiteSpace
maxInclusive,maxExclusive,minInclusive,minExclusive
totalDigits,fractionDigits

簡單類型的例子 1

XML Schema怎么用

這個SKU的類型的取值:3個數(shù)字后面根著一個連字號接著跟著兩個大寫的英文字母。

pattern后面跟的是正則表達(dá)式。有關(guān)正則表達(dá)式的語法請參閱其他書籍。

正確:  123-AB
錯誤:  abc-AB
123-ab

簡單類型的例子 2

XML Schema怎么用

這是一個用來描述美國州名的類型USState,通過enumeration來列出所有州名,取值時就只能取里面列出的州名。

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部