<Complete Reference XML - схемы
Определение и использование
Элемент атрибута определяет атрибут.
Элемент информации
- Parent elements: attributeGroup, схемы, ComplexType, ограничение (both simpleContent and 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 атрибута элемента , содержащего атрибут. Может быть установлен в одно из следующих действий:
|
id | Необязательный. Указывает уникальный идентификатор для элемента |
name | Необязательный. Задает имя атрибута. Имя и атрибуты реф не могут одновременно присутствовать |
ref | Необязательный. Определяет ссылку на имени атрибута. Имя и атрибуты реф не могут одновременно присутствовать. Если ссылок присутствует, simpleType элемент, форма и тип не может присутствовать |
type | Необязательный. Определяет встроенный тип данных или простого типа. type атрибута может включаться только тогда , когда содержание не содержит элемент simpleType |
use | Необязательный. Указывает, как используется атрибут. Может быть одним из следующих значений:
|
any attributes | Необязательный. Определяет любые другие атрибуты с пространством имен без схемы |
Пример 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" атрибут имеет ограничение. Единственное приемлемое значение два заглавными буквами от а до г.
Пример 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"/>
<Complete Reference XML - схемы