最新的Web开发教程
 

XML架构元素属性


<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包含属性的元素的属性。 可以被设置为下列之一:
  • “合格” -表示该属性必须通过命名空间前缀和无冒号名进行限定(NCName)属性
  • 不合格-表示不需要该属性与命名空间前缀限定,反对匹配(NCName) 属性
id 可选的。 指定一个唯一的ID为元素
name 可选的。 指定属性的名称。 名称和ref属性不能同时出现。
ref 可选的。 规定对指定的属性的引用。 名称和ref属性不能同时出现。 如果裁判出现,simpleType元素,形式和类型可以不存在
type 可选的。 指定一个内置的数据类型或简单类型。 该type属性只能存在时的内容不包含simpleType元素
use 可选的。 指定属性的使用方式。 可以是以下值之一:
  • 可选-该属性是可选的(this is default)
  • 禁止 - 属性不能使用
  • 要求 - 要求属性
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参考手册