Элемент attribute XML Schema

Определение и использование

Элемент attribute определяет свойство.

Информация о элементе

Число出现 Определяется один раз в элементе schema. В сложных типах или группах свойств может быть использовано несколько раз.
Родительский элемент attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent)
Содержимое annotation, simpleType

Грамматика

<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

Доступно. Определяет формат свойства. Значением по умолчанию является значение属性 attributeFormDefault элемента schema, содержащего данное свойство. Может быть установлено одно из следующих значений:

  • "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命名ным пространством.

Пример

Пример 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"/>