最新的Web開發教程
 

XML架構元素元素


<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的一個子集的列表:
  • extension - 防止通過擴展派生的元素
  • restriction - 防止通過限制派生的元素
  • substitution - 防止通過替換派生的元素
  • #ALL - 防止所有派生的元素
final 可選的。 設置的默認值final元素元素屬性。 如果父元素是不是架構元件,這個屬性不能使用。 這個值可以包含#all或者是擴展或限制的一個子集的列表:
  • extension - 防止通過擴展派生的元素
  • restriction - 防止通過限制派生的元素
  • #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參考手冊