
- •Лекция 4-03
- •Тема 4.2. Схемы xml
- •Тема 4.2. Схемы xml
- •4.2.1. Формирование описания документа с помощью схем
- •4.2.2. Задание данных в схемеXml
- •4.2.2.1. Типы данных в схеме xml
- •4.2.2.2. Компоненты типов данных в схеме xml
- •4.2.2.3. Свойства типов данных в схеме xml
- •4.2.3. Встроенные типы данных схемыXml
- •4.2.3.1.4. Представление шестнадцатеричных данных
- •4.2.3.1.5. Представление продолжительности, даты и времени
- •2002-12-30T13:20:00
- •4.2.3.1.6. ПредставлениеUri
- •4.2.3.2.2. Производные числовые типы данных
- •4.2.4. Компоненты схемыXml
- •4.2.5. Объявление аннотации в схемеXml
- •4.2.5.1. Элементannotation
- •4.2.5.2. Элементdocumentation
- •4.2.1.3. Элементappinfo
- •4.2.6. Определение простого типа в схемеXml
- •4.2.6.1. ЭлементsimpleType
- •4.2.6.2. Элементы ограничивающих свойств
- •4.2.6.2.1. Элемент length
- •4.2.6.2.2. Элементы minLength и maxLength
- •4.2.6.2.3. Элементpattern
- •4.2.6.2.4. Элементenumeration
- •4.2.6.2.5. ЭлементwhiteSpace
- •4.2.6.2.6. ЭлементыminExclusive иmaxExclusive
- •4.2.6.2.7. ЭлементыminInclusive иmaxInclusive
- •4.2.6.2.8. ЭлементыtotalDigitsиfractionDigits
- •4.2.6.3. Элементrestriction
- •4.2.6.4. Элементlist
- •4 4 5 3
- •3 3 1 3
- •4.2.1.5. Элементunion
4.2.5. Объявление аннотации в схемеXml
Аннотация является информацией для человека или обработчика документа XML. Ее интерпретация определяется обработчиком документаXML(в частности, она может просто игнорироваться).
Аннотация может быть задана для любого компонента схемы XML.
4.2.5.1. Элементannotation
Элемент annotationявляется элементом верхнего уровня, определяющим комментарии к схеме или ее компоненту. Элемент имеет следующий формат:
<префикс:annotation
id = ID
>
(documentation|appinfo)*
</префикс:annotation>
где idопределяет необязательный уникальный идентификатор элемента. Дочерними элементами являются либо элементdocumentation(0 и более элементов), либо элементappinfo(0 и более элементов).
4.2.5.2. Элементdocumentation
Дочерний элемент элемента annotation–documentationиспользуется для включения текстовых комментариев в схему и имеет следующий формат:
<префикс:documentation
source = anyURI
xml:lang = language
>
содержимое-элемента
</префикс:documentation >
Необязательные атрибуты sourceиxml:lang задают соответственно ссылку на источник информации о приложении и язык, используемый в содержимом. В качестве содержимого элемента может быть задано любая правильная последовательность элементовXML, в том числе текст.
Пример использования элементов annotation и documentation:
<xs:annotation>
<xs:documentation>Наименование книги</xs:documentation>
</xs:annotation>
4.2.1.3. Элементappinfo
Дочерний элемент элемента annotation–appinfoзадает информацию, используемую приложением, обрабатывающим документ XML, сформированный в соответствии со схемой XML, и имеет следующий формат:
<префикс:appinfo
source = anyURI
>
содержимое-элемента
</префикс:appinfo>
Необязательный атрибут sourceзадает ссылку на источник информации о приложении. В качестве содержимого элемента, так же, как и для элементаdocumentation, может быть задано любая правильная последовательность элементовXML, в том числе текст.
Пример использования элементов annotation и appinfo:
<xs:annotation>
<xs:appinfo source="http://myinfo.com">
Тестирование
</xs:appinfo>
</xs:annotation>
4.2.6. Определение простого типа в схемеXml
Объявление простого типа – это набор ограничений на строки и информацию о значениях для атрибутов или элементов, которые не имеют потомков и содержат только текст.
4.2.6.1. ЭлементsimpleType
Элемент simpleTypeопределяет простой тип и задает ограничения и информацию о значениях атрибутов или элементов, содержащих только текст. Этот элемент является элементом верхнего уровня и имеет следующий формат:
<префикс:simpleType
id = ID
name = NCName
final = (#all | (list | union | restriction))
>
(annotation?, (restriction | list | union))
</префикс:simpleType>
Необязательный атрибут idзадает уникальный идентификатор элемента. Атрибутnameзадает имя простого типа и является обязательным только в том случае, если элементsimpleType– дочерний элемент элементаschema. Атрибутfinalзапрещает замену этого типа элемента производным сужающим типом (значениеrestriction), либо запрещает представление данного типа элемента в виде списка (значениеlist) или объединения (значениеunion). Если же задано значение#all, то блокируются все приведенные выше замены.