XML Schema 屬性

2018-02-24 17:53 更新

XSD 屬性


所有的屬性均作為簡易類型來聲明。

也就是說:有屬性的元素總是被定義為復(fù)合的類型。


什么是屬性?

簡易元素?zé)o法擁有屬性。假如某個元素?fù)碛袑傩?,它就會被?dāng)作某種復(fù)合類型。但是屬性本身總是作為簡易類型被聲明的。


如何聲明屬性?

定義屬性的語法是

<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

實例

這是帶有屬性的 XML 元素:

<lastname lang="EN">Smith</lastname>

這是對應(yīng)的屬性定義:

<xs:attribute name="lang" type="xs:string"/>


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

屬性可擁有指定的默認(rèn)值或固定值。

當(dāng)沒有其他的值被規(guī)定時,默認(rèn)值就會自動分配給元素。

在下面的例子中,缺省值是 "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

固定值同樣會自動分配給元素,并且您無法規(guī)定另外的值。

在下面的例子中,固定值是 "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>


可選的和必需的屬性

在缺省的情況下,屬性是可選的。如需規(guī)定屬性為必選,請使用 "use" 屬性:

<xs:attribute name="lang" type="xs:string" use="required"/>


對內(nèi)容的限定

當(dāng) XML 元素或?qū)傩該碛斜欢x的數(shù)據(jù)類型時,就會向元素或?qū)傩缘膬?nèi)容添加限定。

假如 XML 元素的類型是 "xs:date",而其包含的內(nèi)容是類似 "Hello World" 的字符串,元素將不會(通過)驗證。

通過 XML schema,您也可向您的 XML 元素及屬性添加自己的限定。這些限定被稱為 facet(編者注:意為(多面體的)面,可譯為限定面)。您會在下一節(jié)了解到更多有關(guān) facet 的知識。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號