XML Schema element 元素

2018-09-08 06:42 更新

XML Schema element 元素


XML Schema 參考手冊 完整 XML Schema 參考手冊

定義和用法

element 元素定義一個元素。

元素信息

  • 父元素: schema, choice, all, sequence, group

語法

<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>

(? 符號聲明在 element 元素中,該元素可出現零次或一次,* 符號聲明元素可出現零次或多次。)

可選。指示是否可以將顯式的零值分配給該元素。此項應用于元素內容并且不是該元素的屬性。 默認值為 false。

如果 nillable 為 true,將使該元素的實例可以將 nil 屬性設置為 true。 nil 屬性被定義為實例的 XML 架構命名空間的一部分。

屬性 描述
id 可選。規(guī)定該元素的唯一的 ID。
name 可選。規(guī)定元素的名稱。如果父元素是 schema 元素,則此屬性是必需的。
ref 可選。對另一個元素的引用。ref 屬性可包含一個命名空間前綴。如果父元素是 schema 元素,則不是使用該屬性。
type 可選。規(guī)定內建數據類型的名稱,或者規(guī)定 simpleType 或 complexType 元素的名稱。
substitutionGroup 可選。規(guī)定可用來替代該元素的元素的名稱。 該元素必須具有相同的類型或從指定元素類型派生的類型。 如果父元素不是 schema 元素,則不可以使用該屬性。
default 可選。為元素規(guī)定默認值(僅當元素內容是簡單類型或 textOnly 時使用)。
fixed 可選。為元素規(guī)定固定值(僅當元素內容是簡單類型或 textOnly 時使用)。
form

可選。該元素的形式。 默認值是包含該屬性的 schema 元素的 elementFormDefault 屬性的值。 該值必須是下列字符串之一: "qualified" 或 "unqualified"。

如果父元素是 schema 元素,則不能使用該屬性。

  • 如果該值是 "unqualified",則無須通過命名空間前綴限定該元素。
  • 如果該值是 "qualified",則必須通過命名空間前綴限定該元素。
maxOccurs

可選。規(guī)定 element 元素在父元素中可出現的最大次數。該值可以是大于或等于零的整數。若不想對最大次數設置任何限制,請使用字符串 "unbounded"。 默認值為 1。

如果父元素是 schema 元素,則不能使用該屬性。

minOccurs

可選。規(guī)定 element 元素在父元素中可出現的最小次數。該值可以是大于或等于零的整數。默認值為 1。

如果父元素是 schema 元素,則不能使用該屬性。

nillable
abstract

可選。指示元素是否可以在實例文檔中使用。如果該值為 true,則元素不能出現在實例文檔中。 相反,substitutionGroup 屬性包含該元素的限定名 (QName) 的其他元素必須出現在該元素的位置。多個元素可以在其 substitutionGroup 屬性中引用該元素。默認值是 false。

block

可選。派生的類型。 block 屬性防止具有指定派生類型的元素被用于替代該元素。該值可以包含 #all 或者一個列表,該列表是 extension、restriction 或 substitution 的子集:

  • extension - 防止通過擴展派生的元素被用來替代該元素。
  • restriction - 防止通過限制派生的元素被用來替代該元素。
  • substitution - 防止通過替換派生的元素被用來替代該元素。
  • #all - 防止所有派生的元素被用來替代該元素。
final

可選。設置 element 元素上 final 屬性的默認值。如果父元素不是 schema 元素,則不能使用該屬性。該值可以包含 #all 或者一個列表,該列表是 extension 或 restriction 的子集:

  • extension - 防止通過擴展派生的元素被用來替代該元素
  • restriction - 防止通過限制派生的元素被用來替代該元素
  • #all - 防止所有派生的元素被用來替代該元素
any attributes

可選。規(guī)定帶有 non-schema 命名空間的任何其他屬性。

實例 1

下面的例子是一個schema,其中帶有四個簡單元素:"fname", "lname", "age" 以及 "dateborn",類型是 string、nonNegativeInteger 以及 date:

<?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" 元素的 schema。"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 參考手冊 完整 XML Schema 參考手冊
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號