日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

XML學(xué)習(xí)筆記(五)Schema語(yǔ)法之簡(jiǎn)單類型_Xml教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:淺析XMLHTTPRequest的屬性和方法
由于現(xiàn)在在公司負(fù)責(zé)制作標(biāo)準(zhǔn)的靜態(tài)頁(yè)面,為了增強(qiáng)客戶體驗(yàn),所以經(jīng)常要做些AJAX效果,也學(xué)你也和我一樣在,學(xué)習(xí)AJAX。而設(shè)計(jì)AJAX時(shí)使用的一個(gè)重要的技術(shù)(工具)就是XMLHTTPRequest對(duì)象了。這里海嘯把我學(xué)習(xí)XMLHTTPRequest對(duì)象的一點(diǎn)資料拿出來跟大家一起分

首先簡(jiǎn)單的說一下,Schema中的簡(jiǎn)單類型(SimpleType)有三種:SimpleElement(簡(jiǎn)單元素)、Attribute(屬性)和Restrictions(約束)。下面逐一介紹這幾種類型。
 

一、XSD SimpleElement

所謂SimpleElement是指不包含任何其他元素和屬性,只包含Text(元素間的內(nèi)容)的元素。這里Text指代的不單單是文本(string),準(zhǔn)確地說應(yīng)該是數(shù)據(jù),可以是Schema內(nèi)置的數(shù)據(jù)類型的數(shù)據(jù),也可以是我們自己創(chuàng)建的數(shù)據(jù)類型的數(shù)據(jù)。

定義一個(gè)SimpleElement

<xs:element name="xxx" type="yyy">
在這里再次提醒語(yǔ)法,XML是大小寫敏感的,屬性的值要用雙引號(hào)括起來。“xxx”是我們要定義的Element的名稱。“yyy”是這個(gè)Element的數(shù)據(jù)類型。XML Schema預(yù)定義的內(nèi)置數(shù)據(jù)類型有如下一些:
“xs:string ”、“xs:decimal”、“xs:integer”、“xs:boolean”、“xs:date”、“xs:time”。
看一個(gè)例子,以下是一些在XML中出現(xiàn)的SimpleElement
<lastname>Refsnes</lastname>
<age>36</age>
<dateborn>1970-03-27</dateborn>
那么在Schema中應(yīng)該作如下定義,注意Element名稱和數(shù)據(jù)類型的對(duì)應(yīng)。
<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="dateborn" type="xs:date"/>

Element的默認(rèn)值和固定值

默認(rèn)值是當(dāng)Elment中沒有指定一個(gè)值時(shí)默認(rèn)提供的值,使用default屬性給出。
<xs:element name="color" type="xs:string" default="red"/>
 
固定值同樣是自動(dòng)給出的,但是XML的用戶不能再為Element指定值,使用fixed屬性給出。
<xs:element name="color" type="xs:string" fixed="red"/>

 

二、XSD Attribute

所有的Attribute都是作為簡(jiǎn)單類型的。一個(gè)SimpleElement是不能有屬性的。如果一個(gè)Element包含有Attriute我們就認(rèn)為它看作是一個(gè)復(fù)雜類型(Complex Type)。雖然Attribute不會(huì)單獨(dú)的出現(xiàn),但我們?nèi)詫⑺鳛橐环NSimpleType在這里介紹

定義一個(gè)Attribute

<xs:attribute name="xxx" type="yyy"/>
“xxx”是Attribute的名稱。“yyy”是Attribute的數(shù)據(jù)類型�?梢允褂肵ML Schema定義的內(nèi)置數(shù)據(jù)類型,如:“xs:string ”、“xs:decimal”、“xs:integer”、“xs:boolean”、“xs:date”、“xs:time”。
例如有如下一個(gè)Element,包含一個(gè)Attribute
<lastname lang="EN">Smith</lastname>
那么定義lang屬性的Schema語(yǔ)句應(yīng)該如下:
<xs:attribute name="lang" type="xs:string"/>

Attribute的默認(rèn)值和固定值

同樣可以使用default屬性和fixed屬性為Attrbute指定默認(rèn)值和固定值。
默認(rèn)值
<xs:attribute name="lang" type="xs:string" default="EN"/>
固定值
<xs:attribute name="lang" type="xs:string" fixed="EN"/>

可選和必需屬性

屬性默認(rèn)是可選的(即可以不填)可以使用use屬性來指定屬性是必需的,如下:
<xs:attribute name="lang" type="xs:string" use="required"/>

三、XSD Restrictions(約束)

Restrictions是用來限制(或者說定義)Element或Attribute可接受值的。而對(duì)于Element的Restrictions通常又稱為Facets。
下面通過一些常見的約束例子來說明Restrictions的用法和語(yǔ)法。

數(shù)值型范圍限制

<xs:element name="age"><xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:restriction>
</xs:simpleType></xs:element>
該約束定義age元素的值是整形而且值要在0到120之間。

枚舉限制

<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
這里約束了car的值是string,而且只能為“Audi”、“Golf”和“BMW”中的一個(gè)。
可以使用另一種寫法:
<xs:element name="car" type="carType"/>
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
這種寫法的好處是,上面的Restriction不是定義在Element中的,可以被其他的Element很方便的調(diào)用。

使用正則表達(dá)式(RegularExpression)約束

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
這里<xs:pattern>的value屬性的值是一個(gè)正則表達(dá)式正則表達(dá)式的語(yǔ)法則不再本文介紹的范圍。使用RegularExpression你可以規(guī)定任何格式的string約束。

空格字符(Whitespace Characters)約束

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
以上例子對(duì)address中的所有空格字符進(jìn)行保留。關(guān)鍵是value="preserve"。XML語(yǔ)法本來就是保留空格的。
當(dāng)值為“replace”時(shí)
XML processer會(huì)用空間來代替所有的空格字符。
當(dāng)值為“collapse”時(shí)
會(huì)將連續(xù)的空格合并成一個(gè)。

長(zhǎng)度約束

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
以上例子限定了password元素的長(zhǎng)度為8。當(dāng)然也可以使用 <xs:minLength value="?"/>和<xs:maxLength value="?"/>來限定最長(zhǎng)最短值。

 

 

分享:解讀Ajax清理緩存
今天做一個(gè)密碼初始化的功能,不想初始化了在返回原來頁(yè)面,于是就用ajax實(shí)現(xiàn),初始化頁(yè)面包括一個(gè)生成隨機(jī)密碼的函數(shù),當(dāng)點(diǎn)擊“初始化密碼”的時(shí)候,可以得到返回的密碼,但是當(dāng)點(diǎn)擊第二次,第三次,都是第一次返回的那個(gè)密碼。而且數(shù)據(jù)庫(kù)也不更新了。 于是

來源:模板無憂//所屬分類:Xml教程/更新時(shí)間:2010-02-05
相關(guān)Xml教程