XML Schema attribute 元素
-
定义和使用
attribute 元素定义一个属性。父元素:attributeGroup,schema,complexType,限制(simpleContent和complexContent),扩展(simpleContent和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 属性的值。 可以设置为以下之一: - "qualified" -表示此属性必须使用名称空间前缀和属性的非冒号(NCName)进行限定
- unqualified -表示此属性不需要使用名称空间前缀进行限定,并且与该属性的(NCName)匹配
id 可选的。 指定元素的唯一ID name 可选的。 指定属性的名称。 名称和引用属性不能同时存在 ref 可选的。 指定对命名属性的引用。 名称和引用属性不能同时存在。 如果存在ref,则不能显示simpleType元素,形式和类型 type 可选的。 指定对命名属性的引用。 名称和引用属性不能同时存在。 如果存在ref,则不能显示simpleType元素,形式和类型 use 可选的。 指定如何使用属性。 可以是以下值之一: - optional -属性是可选的(默认)
- prohibited -无法使用该属性
- required -属性为必填
any attributes 可选的。 用非模式命名空间指定任何其他属性 -
示例
<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 的两个大写字母。
要使用复杂类型中的现有属性定义来声明属性,请使用 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>
属性可以具有默认值或指定的固定值。 如果未指定其他值,则会自动为属性分配默认值。 在以下示例中,默认值为 “EN”:<xs:attribute name="lang" type="xs:string" default="EN"/>
属性可以具有默认值或指定的固定值。 如果未指定其他值,则会自动为属性分配默认值。 在以下示例中,默认值为 “EN”:<xs:attribute name="lang" type="xs:string" fixed="EN"/>
默认情况下,所有属性都是可选的。 要明确指定该属性为可选,请使用 “use” 属性:<xs:attribute name="lang" type="xs:string" use="optional"/>
要使属性为必需:<xs:attribute name="lang" type="xs:string" use="required"/>