最新的Web開發教程
 

XML架構元素屬性


<XML Schema參考手冊

定義和用法

屬性元素定義的屬性。

元素信息

  • Parent elements: attributeGroup,架構複雜類型,限制(both simpleContent and complexContent) ,擴展(包括簡單文本和複雜內容)

句法

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>

(annotation?,(simpleType?))

</attribute>

(?符號聲明元素可出現零次或一次屬性元素中)

屬性 描述
default 可選的。 指定屬性的缺省值。 默認和固定屬性不能同時出現。
fixed 可選的。 指定屬性的固定值。 默認和固定屬性不能同時出現。
form 可選的。 指定為屬性的形式。 默認值是的值attributeFormDefault包含屬性的元素的屬性。 可以被設置為下列之一:
  • “合格” -表示該屬性必須通過命名空間前綴和無冒號名進行限定(NCName)屬性
  • 不合格-表示不需要該屬性與命名空間前綴限定,反對匹配(NCName) 屬性
id 可選的。 指定一個唯一的ID為元素
name 可選的。 指定屬性的名稱。 名稱和ref屬性不能同時出現。
ref 可選的。 規定對指定的屬性的引用。 名稱和ref屬性不能同時出現。 如果裁判出現,simpleType元素,形式和類型可以不存在
type 可選的。 指定一個內置的數據類型或簡單類型。 該type屬性只能存在時的內容不包含simpleType元素
use 可選的。 指定屬性的使用方式。 可以是以下值之一:
  • 可選-該屬性是可選的(this is default)
  • 禁止 - 屬性不能使用
  • 要求 - 要求屬性
any attributes 可選的。 規定帶有non-schema命名空間的任何其他屬性。

例1

<xs:attribute name="code">

<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>

</xs:attribute>

上面的例子表明, "code"屬性有一個限制。 唯一可接受值是兩從A到Z的大寫字母的。

例2

要使用複雜類型中的現有屬性定義聲明一個屬性,使用ref屬性:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>

<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

例3

屬性可以有一個缺省值或者指定的固定值。 沒有指定其他值時,默認值就會自動分配給該屬性。 在下面的例子中,默認值為"EN"

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

一個固定的值沒有指定其他值時,也會自動分配給該屬性。 但不同於默認值; 如果您指定的其他值比固定,文檔將被視為無效。 在下面的例子中,固定值"EN"

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

例4

所有屬性默認都是可選的。 要明確指定的 屬性是可選的,使用"use"屬性:

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

為了使所需要的屬性:

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

<XML Schema參考手冊