
- •Лекция 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. Встроенные типы данных схемыXml
Встроенные типы данных схемы XMLобразуют иерархию, представленную на рисунке 4.2.1.
Встроенные типы данных схемы XMLопределены в пространстве имен:
http://www.w3.org/2001/XMLSchema.
Встроенные типы данных разделяются на примитивные типы данных и производные типы данных.
4.2.3.1. Примитивные типы данных
4.2.3.1.1. Строковый тип данных
Тип данных stringопределяет символьную строку. Пространством значений дляstringявляется конечный набор символов. Для типаstringопределены ограничивающие условияlength,minLength,maxLength,pattern,enumerationиwhiteSpace.
4.2.3.1.2. Булевский тип данных
Тип данных booleanопределяет логические данные и может иметь следующие литеральные значения:true,false,1и0(Каноническими значениями являютсяtrueиfalse). Для типаboolean определены ограничивающие условияpatternиwhiteSpace.
4.2.3.1.3. Типы данных для представления десятичных чисел
Тип данных decimalпредставляет десятичные числа с произвольной точностью, например,-1.23, 12678967.543233, 210. и +100000.00. Для типа decimal определены ограничивающие условия totalDigits, fractionDigits, pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive и minExclusive.
Типы данныхfloatиdoubleпредставляют числа с плавающей точкой соответственно одинарной и двойной точности, например,-1E4, 1267.43233E12, 12.78e-2, 12. Кроме числовых значений, для типовfloatиdouble определены специальные значения INF и –INF (положительная и отрицательная бесконечность), а также значение NaN(не число). Для типов float и double определены ограничивающие условия pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive и minExclusive.
Рис. 4.2.1. Встроенные типы данных схемы XML
4.2.3.1.4. Представление шестнадцатеричных данных
Типы hexBinary и base64Binary представляют собой шестнадцатеричные данные (тип base64Binary представляет данные, закодированные с использованием алгоритма Base64 Content-Transfer-Encoding). Шестнадцатеричные данные представляются с помощью цифр, а также буквA-F(прописных или строчных), например, "0FB7".
Для типов hexBinaryиbase64Binaryопределены ограничивающие условияlength,minLength,maxLength,pattern,enumeration,whiteSpace.
4.2.3.1.5. Представление продолжительности, даты и времени
Тип данных durationпредставляет продолжительность времени. Пространством значений этого типа является шестимерное пространство, координаты которого – грегорианский год, месяц, день, час, минута и секунда. Лексическим представлением типаdurationявляется:
PnYnMnDTnHnMnS
где nY – количество лет,nM – количество месяцев,nD– количество дней,nH– количество часов, nM – количество минут,nS– количество секунд, например, продолжительность в 1 год, 2 месяца, 3 для, 10 часов и 30 минут записывается следующим образом:
P1Y2M3DT10H30M.
Для типа duration определены ограничивающие условия pattern, enumeration, whiteSpace, maxInclusive, maxExclusive, minInclusive и minExclusive.
Типы данных date,timeиdateTimeпредставляют временные данные: дату время и отметку даты и времени.
Тип dateпредставляет календарную дату в формате
CCYY-MM-DD
где CCYY– год,MM– месяц,DD– день, например:2002-12-30.
Тип timeпредставляет время в формате
hh:mm:ss.sssзнакHH:MM
где hh–часы,mm– минуты,ss.sss– секунды, знак – символ "+"или "-", показывающий опережение или отставание местного времени по сравнению с координированным универсальным временем –UTC(CoordinatedUniversalTime), например:
13:20:00+02:00.
Доли секунды и смещение времени относительно UTCможно опустить.
Тип данных dateTimeобъединяет дату и время в одном типе данных и имеет следующий формат:
CCYY-MM-DDThh:mm:ss.
например: