<XML Schema參考手冊
定義和用法
元素元素定義的元素。
元素信息
- Parent elements:架構,選擇,全部序列,組
句法
<element
id=ID
name=NCName
ref=QName
type=QName
substitutionGroup=QName
default=string
fixed=string
form=qualified|unqualified
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
nillable=true|false
abstract=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>
annotation?,(simpleType|complexType)?,(unique|key|keyref)*
</element>
(?符號聲明元素可出現零次或一次,*符號聲明元素可出現在元素元素中零次或多次)
屬性 | 描述 |
---|---|
id | 可選的。 指定一個唯一的ID為元素 |
name | 可選的。 指定元素的名稱。 如果父元素是schema元素,這個屬性是必需的 |
ref | 可選的。 指另一元素的名稱。 該ref屬性可以包含一個命名空間前綴。 如果父元素是schema元素,這個屬性不能使用 |
type | 可選的。 指定的任一名稱的內置的數據類型,或規定simpleType或complexType元素的名稱 |
substitutionGroup | 可選的。 指定可與此元素被取代的元素的名稱。 如果父元素不是schema元素,這個屬性不能使用 |
default | 可選的。 指定元素的默認值(如果該元素的含量是簡單類型或文字只能用於僅) |
fixed | 可選的。 指定元件的固定值(如果該元素的含量是簡單類型或文字只能用於僅) |
form | 可選的。 指定元素的形式。 "unqualified"表示不需要該元素的命名空間前綴限定。 "qualified"表示該元素必須通過命名空間前綴限定。 默認值是的值elementFormDefault模式元素的屬性。 如果父元素是schema元素,這個屬性不能使用 |
maxOccurs | 可選的。 指定可發生在父元素此元素的最大次數。 該值可以是任何數字> = 0,或者如果你想設置的最大數量沒有限制,使用值"unbounded" 。 默認值是1。此屬性不能使用,如果父元素是schema元素 |
minOccurs | 可選的。 指定的最小次數,就可能出現在父元素這個元素。 的值可以是任何數> = 0。默認值為1,這個屬性不能被使用,如果父元素是schema元素 |
nillable | 可選的。 指定顯式空值是否可以被分配到的元素。 真正使元素的實例有null屬性設置為true。 該null屬性被定義為XML模式命名空間的實例的一部分。 默認為false |
abstract | 可選的。 指定是否元素可以在實例文檔中使用。 True表示該元素不能出現在實例文檔英寸 相反,另一種元素,其substitutionGroup屬性包含限定名稱(QName)此元素必須出現在此元素的地方。 默認為false |
block | 可選的。 防止元素與替代該元素被用來指定類型推導。 這個值可以包含#all或者是分機,限制,或equivClass的一個子集的列表:
|
final | 可選的。 設置的默認值final元素元素屬性。 如果父元素是不是架構元件,這個屬性不能使用。 這個值可以包含#all或者是擴展或限制的一個子集的列表:
|
any attributes | 可選的。 規定帶有non-schema命名空間的任何其他屬性。 |
例1
下面的例子是與名為四個簡單的元素架構"fname" "lname" "age"和"dateborn"這是字符串類型,非負,和日期:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="fname" type="xs:string"/>
<xs:element name="lname" type="xs:string"/>
<xs:element name="age" type="xs:nonNegativeInteger"/>
<xs:element name="dateborn" type="xs:date"/>
</xs:schema>
例2
下面的例子是用命名的元素架構"note"這是一個複雜類型。 該"note"元素包含其他四個簡單的元素; "to" , "from" , "heading"和"body" :
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
例3
這個例子是等於實施例2,但在這裡,我們選擇使用ref屬性來引用元素名稱:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element ref="to"/>
<xs:element ref="from"/>
<xs:element ref="heading"/>
<xs:element ref="body"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:schema>
<XML Schema參考手冊