所有的屬性均作為簡(jiǎn)易類型來(lái)聲明。
XSD 屬性
什么是屬性?
簡(jiǎn)易元素?zé)o法擁有屬性。假如某個(gè)元素?fù)碛袑傩裕蜁?huì)被當(dāng)作某種復(fù)合類型。但是屬性本身總是作為簡(jiǎn)易類型被聲明的。
如何聲明屬性?
定義屬性的語(yǔ)法是:
<xs:attribute name="xxx" type="yyy"/>
在此處,xxx 指屬性名稱,yyy 則規(guī)定屬性的數(shù)據(jù)類型。XML Schema 擁有很多內(nèi)建的數(shù)據(jù)類型。
最常用的類型是:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
實(shí)例
這是帶有屬性的 XML 元素:
<lastname lang="EN">Smith</lastname>
這是對(duì)應(yīng)的屬性定義:
<xs:attribute name="lang" type="xs:string"/>
屬性的默認(rèn)值和固定值
屬性可擁有指定的默認(rèn)值或固定值。
當(dāng)沒(méi)有其他的值被規(guī)定時(shí),默認(rèn)值就會(huì)自動(dòng)分配給元素。
在下面的例子中,缺省值是 "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
固定值同樣會(huì)自動(dòng)分配給元素,并且您無(wú)法規(guī)定另外的值。
在下面的例子中,固定值是 "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
可選的和必需的屬性
在缺省的情況下,屬性是可選的。如需規(guī)定屬性為必選,請(qǐng)使用 "use" 屬性:
<xs:attribute name="lang" type="xs:string" use="required"/>
對(duì)內(nèi)容的限定
當(dāng) XML 元素或?qū)傩該碛斜欢x的數(shù)據(jù)類型時(shí),就會(huì)向元素或?qū)傩缘膬?nèi)容添加限定。
假如 XML 元素的類型是 "xs:date",而其包含的內(nèi)容是類似 "Hello World" 的字符串,元素將不會(huì)(通過(guò))驗(yàn)證。
通過(guò) XML schema,您也可向您的 XML 元素及屬性添加自己的限定。這些限定被稱為 facet(編者注:意為(多面體的)面,可譯為限定面)。您會(huì)在下一節(jié)了解到更多有關(guān) facet 的知識(shí)。
上一篇: XSD 復(fù)合類型指示器 下一篇: 您已經(jīng)學(xué)習(xí)了 XML Schema,下一步學(xué)習(xí)什么呢?