<XML Schema参考手册
定义和用法
属性元素定义的属性。
元素信息
- Parent elements: attributeGroup,架构复杂类型,限制(both simpleContent and complexContent) ,扩展(包括简单文本和复杂内容)
句法
<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>
(annotation?,(simpleType?))
</attribute>
(?符号声明元素可出现零次或一次属性元素中)
属性 | 描述 |
---|---|
default | 可选的。 指定属性的缺省值。 默认和固定属性不能同时出现。 |
fixed | 可选的。 指定属性的固定值。 默认和固定属性不能同时出现。 |
form | 可选的。 指定为属性的形式。 默认值是的值attributeFormDefault包含属性的元素的属性。 可以被设置为下列之一:
|
id | 可选的。 指定一个唯一的ID为元素 |
name | 可选的。 指定属性的名称。 名称和ref属性不能同时出现。 |
ref | 可选的。 规定对指定的属性的引用。 名称和ref属性不能同时出现。 如果裁判出现,simpleType元素,形式和类型可以不存在 |
type | 可选的。 指定一个内置的数据类型或简单类型。 该type属性只能存在时的内容不包含simpleType元素 |
use | 可选的。 指定属性的使用方式。 可以是以下值之一:
|
any attributes | 可选的。 规定带有non-schema命名空间的任何其他属性。 |
例1
<xs:attribute name="code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
上面的例子表明, "code"属性有一个限制。 唯一可接受值是两从A到Z的大写字母的。
例2
要使用复杂类型中的现有属性定义声明一个属性,使用ref属性:
<xs:attribute name="code">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
<xs:attribute ref="code"/>
</xs:complexType>
例3
属性可以有一个缺省值或者指定的固定值。 没有指定其他值时,默认值就会自动分配给该属性。 在下面的例子中,默认值为"EN"
<xs:attribute name="lang" type="xs:string" default="EN"/>
一个固定的值没有指定其他值时,也会自动分配给该属性。 但不同于默认值; 如果您指定的其他值比固定,文档将被视为无效。 在下面的例子中,固定值"EN"
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
例4
所有属性默认都是可选的。 要明确指定的 属性是可选的,使用"use"属性:
<xs:attribute name="lang" type="xs:string" use="optional"/>
为了使所需要的属性:
<xs:attribute name="lang" type="xs:string" use="required"/>
<XML Schema参考手册