
- •Лекция 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.3.2.2. Производные числовые типы данных
Типы данных integer, long, int, short и byte определяют целые числа (со знаком).
Тип данных integer является производным от класса decimal, в котором значение свойства fractionDigits равно 0. Тип данных long является производным от типа integer, у которого значение maxInclusive установлено в 9223372036854775807, а значение minInclusive в -9223372036854775808. Тип данных int является производным от типа long, у которого значение maxInclusive установлено в 2147483647, а значение minInclusive установлено в -2147483648. Тип данных short является производным от типа int, у которого значение maxInclusive установлено в 32767, а значение minInclusive – в -32768. Тип данных byte является производным от типа short, у которого значение maxInclusive установлено в 127, а значение minInclusive – в -128.
Для типов integer, long, int, short и byte определены ограничивающие условия totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive и minExclusive.
Типы данных nonPositiveInteger, negativeInteger, nonNegativeInteger и positiveInteger являются производными от типа integer.
Тип данных nonPositiveInteger получается установкой значения свойства maxInclusive в 0, тип данных negativeInteger получается установкой maxExclusive в 0, тип данных nonNegativeInteger получается установкой minInclusive в 0, а тип данных positiveInteger получается установкой minExclusive в 0. Для этих типов определены ограничивающие условия totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive и minExclusive.
Типы данных unsignedLong, unsignedInt, unsignedShort и unsignedByte определяют целые числа без знака.
Тип данных unsignedLong является производным от типа nonNegativeInteger, у которого значение maxInclusive установлено в 18446744073709551615. Тип данных unsignedInt является производным от типа unsignedLong, у которого значение maxInclusive установлено в 4294967295. Тип данных unsignedShort является производным от типа unsignedInt, у которого значение maxInclusive установлено в 65535. Тип данных unsignedByte является производным от типа unsignedShort, у которого значение maxInclusive установлено в 255.
4.2.4. Компоненты схемыXml
Схема XMLсостоит изкомпонент, таких как компоненты определения и компоненты объявления. Если компонент не имеет содержимого, то его можно задавать как пустой элемент.
Компоненты объявлениясвязываются с помощью уточненного имени с элементами, которые необходимо проверить.
Компоненты определениязадают внутренние компоненты схемы, которые используются в других компонентах схемы.
Некоторые виды компонент могут иметь целевое пространство имен(targetnamespace).
Компоненты схемы XMLразбиты натри группы:
первичные компоненты (primary components);
вторичные компоненты (secondary components);
справочные компоненты ("helper" components).
В группу первичных компонентвходят:
определения простого типа (simple type definitions);
определения сложного (комплексного) типа(complextypedefinitions);
объявления атрибутов (attribute declarations);
объявления элементов (element declarations).
Вторичными компонентамиявляются:
определения группы атрибутов (attribute group definitions);
определения ограничений (identity-constraint definitions);
определение группы моделей (modelgroupdefinitions);
объявления нотации (notation declarations).
В группу справочных компонентвходят:
Аннотации (annotations);
Группы моделей (model groups);
Частицы (particles);
Шаблоны (wildcards);
Использования атрибутов (attribute uses).
Если в компоненте не задано содержание, то объявление можно задавать как пустой элемент.
Корневым элементом документа XML, описывающего схему, является элемент schema. Целевое пространство имен для схемыXMLопределено вhttp://www.w3.org/2001/XMLSchema.
Наименования встроенных типов данных и имена элементов схемы XML обычно задаются с уточненным именем с префиксом xsилиxsd(например,xs:annotationилиxsd:attribute). Этот префикс задается в атрибутеxmlnsэлементаschema.
Далее рассматриваются компоненты схемы XML.