XML Schema element 元素
❮ 完整的 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))
任何属性
>
annotation?,(simpleType|complexType)?,(unique|key|keyref)*
</element>
(? 符号表示该元素在 element 元素内可以出现零次或一次,* 符号表示该元素可以出现零次或多次)
Attribute | 描述 |
---|---|
id | 可选。指定元素的唯一 ID |
name | 可选。指定元素的名称。如果父元素是 schema 元素,则此属性是必需的 |
ref | 可选。引用另一个元素的名称。ref 属性可以包含命名空间前缀。如果父元素是 schema 元素,则无法使用此属性 |
type | 可选。指定内置数据类型的名称,或 simpleType 或 complexType 元素的名称 |
substitutionGroup | 可选。指定可以被此元素替换的元素的名称。如果父元素不是 schema 元素,则无法使用此属性 |
default | 可选。指定元素的默认值(仅当元素的内容是简单类型或纯文本时才可使用) |
fixed | 可选。指定元素的固定值(仅当元素的内容是简单类型或纯文本时才可使用) |
form | 可选。指定元素的表单。“unqualified”表示此元素不要求带有命名空间前缀。“qualified”表示此元素必须带有命名空间前缀。默认值是 schema 元素上 form 属性的值。如果父元素是 schema 元素,则无法使用此属性 |
maxOccurs | 可选。指定该元素在父元素中可以出现的最大次数。值可以是任何大于或等于 0 的数字,或者如果想不限制最大次数,可以使用值“unbounded”。默认值为 1。如果父元素是 schema 元素,则无法使用此属性 |
minOccurs | 可选。指定该元素在父元素中可以出现的最小次数。值可以是任何大于或等于 0 的数字。默认值为 1。如果父元素是 schema 元素,则无法使用此属性 |
nillable | 可选。指定是否可以为该元素分配显式的 null 值。True 允许元素实例将 null 属性设置为 true。null 属性是在 XML Schema 命名空间中为实例定义的。默认值为 false |
abstract | 可选。指定该元素是否可以在实例文档中使用。True 表示该元素不能出现在实例文档中。相反,应在此元素的位置出现一个 substitutionGroup 属性包含此元素限定名称 (QName) 的元素。默认值为 false |
block | 可选。阻止使用指定类型的派生元素来代替此元素。此值可以包含 #all 或 extension、restriction 或 equivClass 的子集列表
|
final | 可选。设置 element 元素的 final 属性的默认值。此属性不能用于父元素不是 schema 元素的情况。此值可以包含 #all 或 extension 或 restriction 的子集列表
|
任何属性 | 可选。指定任何其他非 schema 命名空间的属性 |
示例 1
以下示例是一个包含四个简单元素“fname”、“lname”、“age”和“dateborn”的 schema,它们的数据类型分别为 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 参考