Слайд 2Цели занятия
Понимание схем (Schema)
Различие между схемой (Schema) и DTD
Определение
словаря схемы XML Schema Vocabulary
Описание элементов схемы XML Schema
Понимание проверки и ограничений
Понимание наследования элементов в схеме (Schema)
Слайд 3Схемы – Schemas
схемы – schemas
правила
Модель для целого класса документов
Общий словарь
схемы
– schemas
Обмен документами
Слайд 4Ограничения DTD
DTD записываются не по правилам синтаксиса XML
DTD не
являются расширяемыми
DTD не поддерживают пространства имён
DTD лишь предлагают
строго регламентированную типизацию данных
Слайд 5Новые функциональные возможности XML Schema
Синтаксис XML используется, как основа для
создания документов XML schema
XML Schemas могут быть переданы и
обработаны точно так же, как и любой другой документ XML
Более богатый набор типов данных
Архетипы (Archetypes)
Группирование атрибутов
Совершенствуемые архетипы
Слайд 6Типы данных в Schema
Основные типы данных (basetype)
ID
IDREF
ENTITY
NMTOKEN
NOTATIONS
string
boolean
number
dateTime
binary
uri
integer
decimal
real
time
timePeriod
Дополнительные типы данных генерируются
из основных встроенных типов данных
Генерируемые пользователем типы данных создаются с
помощью встроенных типов данных и дополнительных условий, применяемых к ним, если это необходимо
Слайд 7
Словарь схемы
XML Schema Vocabulary
DTD, предоставленный Microsoft для Schemas
Schema
datatype
ElementType
element
group
Attributetype
attribute
description
Это корневой
элемент всех документов, соответствующих XML schema
Дочерние элементы
AttributeType
ElementType
description
Слайд 8Образец документа XML со схемой Schema – 1
Файл schedule.xml
Слайд 9Образец документа XML со схемой Schema – 2
Схема (schema), ассоциированная
с документом xml
Слайд 12Элемент Schema
‘Schema’ – это корневой элемент для любого документа XML
schema
Атрибутами элемента Schema являются:
name
xmlns
Для типов данных XML schema должно быть
определено пространство имён
Структура документа XML schema:
Слайд 13Элемент datatype
Определяет тип данных datatype элемента или атрибута
Включает атрибут ‘dt:type’
Значения,
допустимые для атрибута dt:type:
char
boolean
int
float
number
Пример:
Слайд 14
Элемент ElementType – 1
Элемент ElementType
Используется для присваивания типа и условий
элементу
Может выполнять вложение элементов, заданных в словаре схемы
Элементы в словаре
schema vocabulary :
datatype
element
group
AttributeType
attribute
description
Слайд 15Элемент ElementType – 2
Атрибуты элемента ElementType
name
model
content
order
dt:type
Empty (пустой)
textOnly (только текст)
eltOnly (только
объявленные потомки)
mixed (смешанные)
One (один)
Seq (последовательность)
many (произвольно)
Значения для атрибута
Слайд 16Элемент Element – 1
Используется для объявления экземпляра элемента с группой
или типом элемента
Три атрибута элемента ‘element’:
type: используется для определения
типа элемента
minOccurs: минимальное количество вхождений, разрешённое для данного элемента
maxOccurs: максимальное количество вхождений, разрешённое для данного элемента
Слайд 17Элемент Element – 2
Отношения между атрибутами minOccurs и maxOcuurs
Слайд 18
Элемент group
элемент1
элемент2
элемент3
group (группа)
Слайд 19Элемент AttributType
Похож на элемент ‘ElementType’
Определяет тип атрибута
Атрибуты элемента AttributeType:
name
dt:type
dt:values
default
required
Пример:
“type” dt:type= “enumeration”
dt:values= “students professional housewife”/>
Слайд 20
Элемент attribute – 1
Объявляет экземпляр атрибута для типа элемента
ЭлементAttribute
Атрибуты
элемента Attribute
type
default
required
Слайд 21Элемент attribute – 2
Пример:
...
"/>
type="timeslot" minOccurs="1" maxOccurs="1"/>
...
Слайд 22Элемент description
Описывает смысл текста, размещаемого внутри схемы
Пример:
...
Information of one or more batch.
...
Слайд 23Ограничения DTD для Schema
Модели содержания DTD являются закрытыми и, следовательно,
не могут отображать открытость XML Schema
DTD не поддерживает более
широкий набор типов данных, разрешённых в XML Schema
DTD не поддерживает гибкость пространств имён, свойственную XML Schema
Слайд 24Проверка (Validity)
Причины для проверки
Проверка документа в Schema
Переданный документ
База данных
Проверенная информация
Слайд 25Классификация документов
Не XML документы
Документ XML, который не идентифицирует схему
Документ XML, не соответствующий модели, описанной ассоциированной схемой
Документ XML,
который не нарушает ни одного ограничения (условия) схемы
Слайд 26Виды проверок
Content Model Validity (Корректность модели содержания)
Проверяет
правильность порядка следования и вложенности тэгов
Datatype Validity (Корректность типов
данных)
Обозначает возможность проверить, имеют ли заданные блоки информации корректный тип, и находятся ли в пределах заданных допустимых значений
Слайд 27Ограничения в Schema
Схемы описаны в терминах ограничений
Ограничение определяет, что
может появляться в документе и каким образом
Существуют два вида
ограничений:
Content model constraints (Ограничения модели содержания)
Datatype constraints (Ограничения модели типов данных)
Пример:
99
99-9999999
Слайд 28Наследование элементов
Использует объектно‑ориентированный подход для поддержки отношений между элементами
Может
быть использовано для создания архетипов (Archetypes), которые являются шаблонами (templates)
элементов, и от которых могут быть произведены другие элементы
XML Schema является технологией Microsoft
Активное использование Schema возможно не всегда, так как на текущий момент она реализована лишь частично
Слайд 29Пример архетипа (Archetype)
...
name="Author" minOccur="1" maxOccur="4"/>
maxOccur="1"/>
...
Слайд 30Подведение итогов – I
В соответствии с определением консорциума W3C схема
– это "набор правил, регламентирующих структуру и выполняющих сопряжения информационных
наборов в документах XML". Схема – это модель, применяемая для описания структуры базы данных.
XML унаследовал концепцию определений DTD (Document Type Definitions) от языка SGML. DTD используются для определения моделей содержимого, правильного (корректного) порядка размещения и вложенности элементов и для некоторого ограниченного расширения, а также определяют типы данных атрибутов.
XML Schema предлагает целый ряд новых функциональных возможностей.
Синтаксис XML используется, как основа для создания документов XML schema.
XML Schemas могут быть переданы и обработаны точно так же, как и любой другой документ XML.
Более богатый набор типов данных.
Архетипы (Archetypes)
XML Schemas поддерживает интеграцию пространств имён, которая позволяет ассоциировать отдельные узлы документа с объявлениями типов в схеме.
Группирование атрибутов
Усовершенствованные архетипы
Слайд 31Подведение итогов – II
Схемы поддерживают content model validity (Проверка модели
содержания) и datatype validity (Проверка типов данных)
Схемы описаны в
терминах ограничений. Ограничение определяет, что может появляться в документе
Наследование элементов, в соответствии с проектом рабочего стандарта XML Schema, использует объектно‑ориентированный подход для поддержки отношений между элементами.
Мы можем создавать архетипы (archetypes), которые являются шаблонами (templates) элементов, и от которых могут быть произведены другие элементы.
Используя наследование элементов, процессор XML может ассоциировать производные элементы друг с другом и сохранить их отношение.