<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参考手册