Элемент 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"/>