Атрибуты XSD
- Предыдущая страница Элементы XSD
- Следующая страница Ограничения XSD
Все атрибуты объявляются как простые типы.
Что такое атрибут?
Простые элементы не могут иметь атрибутов. Если элемент имеет атрибут, он рассматривается как составной тип. Однако сам атрибут всегда объявляется как простой тип.
Как声明 атрибут?
Синтаксис определения атрибута:
<xs:attribute name="xxx" type="yyy"/>
Здесь xxx указывает на имя атрибута, yyy определяет тип данных атрибута. XML Schema имеет множество встроенных типов данных.
Самыми常用ными типами являются:
- xs:string
- xs:decimal
- xs:integer
- xs:boolean
- xs:date
- xs:time
Пример
Это XML-элемент с атрибутом:
<lastname lang="EN">Smith</lastname>
Это соответствующее определение атрибута:
<xs:attribute name="lang" type="xs:string"/>
Значение по умолчанию и фиксированное значение атрибута
Атрибут может иметь указанное значение по умолчанию или фиксированное значение.
Если не указано другое значение, значение по умолчанию автоматически назначается элементу.
В следующем примере значение по умолчанию равно "EN":
<xs:attribute name="lang" type="xs:string" default="EN"/>
Фиксированное значение также автоматически назначается элементу, и вы не можете определить другое значение.
В следующем примере фиксированное значение равно "EN":
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
Необязательные и обязательные атрибуты
По умолчанию атрибут является необязательным. Чтобы определить атрибут как обязательный, используйте атрибут "use":
<xs:attribute name="lang" type="xs:string" use="required"/>
Ограничения содержимого
Когда элемент XML или атрибут имеет определенный тип данных, к содержимому элемента или атрибута добавляются ограничения.
Если тип элемента XML является "xs:date", а содержимое содержит строку, подобную "Hello World", элемент не будет (проверен).
Через XML schema, вы также можете добавить свои ограничения к элементам и атрибутам XML. Эти ограничения называются facet (Примечание редактора: это слово можно перевести как 'сторона' или 'ограничение'). Вы узнаете больше о facet в следующем разделе.
- Предыдущая страница Элементы XSD
- Следующая страница Ограничения XSD