
- •Лекция 4-04
- •4.2.7. Объявление атрибутов в схеме xml
- •4.2.7.1. Формат элементаattribute
- •4.2.7.2. Встроенные объявления атрибутов
- •4.2.8. Объявление элементов в схемеXml
- •4.2.8.1. Формат объявления элементаelement
- •4.2.8.2. Элементыunique,selectorиfield
- •4.2.8.3. Элементыkeyиkeyref
- •4.2.9. Определение комплексного типа в схемеXml
- •4.2.9.1. Формат определения элементаcomplexType
- •4.2.9.2. Элементы sequence, any, choice, all и group
- •4.2.9.3. ЭлементыattributeGroupиanyAttribute
- •4.2.9.4. ЭлементsimpleContent
- •4.2.9.5. ЭлементcomplexContent
- •4.2.10. Объявление нотации в схемеXml
- •4.2.11. Структура схемы
- •4.2.11.1. Элементschema
- •4.2.11.2. Включение внешних фрагментов в схему
- •4.2.11.3. Включение схемы в документXml
–
Лекция 4-04
4.2.7. Объявление атрибутов в схеме XML
4.2.7.1. Формат элемента attribute
4.2.7.2. Встроенные объявления атрибутов
4.2.8. Объявление элементов в схеме XML
4.2.8.1. Формат объявления элемента element
4.2.8.2. Элементы unique, selector и field
4.2.8.3. Элементы key и keyref
4.2.9. Определение комплексного типа в схеме XML
4.2.9.1. Формат определения элемента complexType
4.2.9.2. Элементы sequence, any, choice, all и group
4.2.9.3. Элементы attributeGroup и anyAttribute
4.2.9.4. Элемент simpleContent
4.2.9.5. Элемент complexContent
4.2.10. Объявление нотации в схеме XML
4.2.11. Структура схемы
4.2.11.1. Элемент schema
4.2.11.2. Включение внешних фрагментов в схему
4.2.11.3. Включение схемы в документ XML
4.2.7. Объявление атрибутов в схеме xml
4.2.7.1. Формат элементаattribute
Объявление атрибута обеспечивает локальную проверку значений атрибута, а также задание значения по умолчанию или фиксированного значения. Объявление атрибута выполняется с помощью элемента attribute, имеющего следующий формат:
<префикс:attribute
name = NCName
ref = QName
type = QName
default = string
fixed = string
use = (optional | prohibited | required) : optional
id = ID
form = (qualified | unqualified)
>
(annotation?, (simpleType?))
</префикс:attribute>
Атрибуты в элементе attribute имеют следующий смысл:
name– имя атрибута;
ref – ссылка на объявление атрибута;
type– тип данных значения атрибута;
default– значение атрибута по умолчанию;
fixed– используется для присвоения атрибуту постоянного (фиксированного) значения;
use– используется для того, чтобы указать, что атрибут является необязательным (optional) – значение по умолчанию, обязательным (required) или запрещенным(prohibited).
id– связывает с атрибутом уникальный идентификатор;
form– используется для отмены значения заданного в атрибутеattributeFormDefault элементаschemaили в атрибутеformэлемента-родителя.
Если родителем элемента attributeявляется элементschema, то объявление атрибута является глобальным, иначе локальным.
Примеры использования элемента attribute:
1. <xs:attribute name="age" type="xs:positiveInteger"
use="required"/>
Объявление обязательного атрибута age, значение которого – целое положительное число.
2. <xs:attribute name="RGBColor"
default="red" use="optional">
<xs:simpleType>
<xs:restriction>
<xs:enumeration value="red"/>
<xs:enumeration value="green"/>
<xs:enumeration value="blue"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
Объявление необязательного атрибута RGBColor, значением которого является один из цветовRGB. Значение атрибута по умолчанию –"red".
4.2.7.2. Встроенные объявления атрибутов
В спецификации схемы XMLопределены четыре встроенных объявления атрибута, которые доступны без объявления в любой схемеXML. Объявления всех атрибутов являются глобальными, т.е. их можно использовать в любом элементеXML. Ограничения на значения этих атрибутов отсутствуют. Для этих атрибутов в качестве целевого пространства имен используется
http://www.w3.org/2001/XMLSchema-instance.
Объявление атрибута typeзадает тип атрибута, значение которого имеет тип данныхQName.
Объявление атрибута nilзадает атрибут, значение которого имеет тип данныхboolean.
Объявления атрибутов schemaLocationиnoNamespaceSchemaLocationзадают местонахождения схемы соответственно с указанием пространства имен и без указания пространства имен. Значения для этих атрибутов имеют тип данныхanyURI.