XML Schema attribute 元素

返回上一级

XML Schema attribute 元素定义一个属性

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

? 符号声明该元素可在 attribute 元素中出现零次或一次

描述

属性 描述
default 可选。规定属性的默认值。default 和 fixed 属性不能同时出现
fixed 可选。规定属性的固定值
default 和 fixed 属性不能同时出现
form 可选。规定属性的格式
默认值是包含该属性的 schema 元素的 attributeFormDefault 属性的值
可以设置为下列值:
"qualified" - 指示必须通过命名空间前缀和该属性的无冒号名称 (NCName) 来限定此属性
"unqualified" - 指示此属性无须由命名空间前缀限定,且无须匹配此属性的无冒号名称 (NCName),即本地名称
id 可选。规定该元素的唯一的 ID
name 可选。规定属性的名称。name 和 ref 属性不能同时出现
ref 可选。规定对指定的属性的引用
name 和 ref 属性不能同时出现。如果 ref 出现,则 simpleType 元素、form 和 type 不能出现
type 可选。规定内建的数据类型或简单类型
type 属性只能在内容不包含 simpleType 元素时出现
use 可选。规定如何使用该属性。可设置下面的值:
optional - 属性是可选的并且可以具有任何值(默认)
prohibited - 不能使用属性
required - 属性的必需的
any attributes 可选。规定带有 non-schema 命名空间的任何其他属性

元素信息

  • 父元素: attributeGroup, schema, complexType, restriction (both simpleContent and complexContent), extension (both simpleContent and complexContent)

范例

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

返回上一级

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.