Практика
- Создать комплексный тип.
- Скопировать элементы в созданный комплексный тип.
- Указать созданный комплексный тип для элемента схемы.
- Сохранить файл.
- Элемент complexType может содержать другие элементы?
- Элемент complexType может содержать другие атрибуты?
- В каких случаях удобно использовать complexType?
Сложные типы данных
Цель: внести изменения в схему, использовав сложный (комплексный) тип.Задачи:
Занятие содержит пример работы с элементом complexType.
Элемент complexType определяет сложный (комплексный) тип. Элемент сложного типа может содержать другие элементы и/или атрибуты.
Удобно использовать, если в схеме присутствуют повторяющиеся группы элементов.
Ознакомиться с атрибутами элемента можно в Справочнике атрибутов.
Удобно использовать, если в схеме присутствуют повторяющиеся группы элементов.
Ознакомиться с атрибутами элемента можно в Справочнике атрибутов.
По текущей версии схемы элемент Organization с вложенными элементами повторяется и, если понадобится вносить изменения, то нужно будет править сразу в нескольких элементах.
Можно оптимизировать этот процесс, создав один тип и применив его к элементам Organization.
1. В программе Altova XMLSpy откройте свой файл схемы, выберав пункт меню File - Open.
2. Из контекстного меню кнопки Append необходимо выбрать ComplexType.
Рисунок 39 - ComplexType
3. Задать наименование OrganizationType и перейти к созданию вложенных элементов, нажав на пиктограмму рядом с типом.
Рисунок 40 - пиктограмма типа
4. Добавить элементы можно через контекстное меню AddChild.
Рисунок 41 - контекстное меню AddChild
Или скопировав из элемента СontractRequest/FirstSideContract/Organization.
Рисунок 42 - элементы типа
5. Из элементов СontractRequest/FirstSideContract/Organization и СontractRequest/SecondSideContract/Organization удалите вложенные элементы и в окне Details задайте тип OrganizationType.
Рисунок 43 - тип OrganizationType
6. Аналогичным образом можно изменить элемент Individual.
Рисунок 44 - тип IndividualType
1. В программе Altova XMLSpy откройте свой файл схемы, выберав пункт меню File - Open.
2. Из контекстного меню кнопки Append необходимо выбрать ComplexType.

Рисунок 39 - ComplexType

Рисунок 40 - пиктограмма типа

Рисунок 41 - контекстное меню AddChild

Рисунок 42 - элементы типа

Рисунок 43 - тип OrganizationType

Рисунок 44 - тип IndividualType
По текущей версии схемы элемент Organization с вложенными элементами повторяется и, если понадобится вносить изменения, то нужно будет править сразу в нескольких элементах.
Можно оптимизировать этот процесс, создав один тип и применив его к элементам Organization.
1. В Блокноте откройте свой ранее созданный файл.
2. Опишите комплексный тип OrganizationType. Содержимое можно скопировать из элемента СontractRequest/FirstSideContract/Organization.
Рисунок 45 - OrganizationType
3. Из элементов СontractRequest/FirstSideContract/Organization и СontractRequest/SecondSideContract/Organization вложенные элементы замените на тип OrganizationType.
Рисунок 46 - OrganizationType для Organization
4. Аналогичным образом можно изменить элемент Individual.
Рисунок 47 - тип IndividualType
1. В Блокноте откройте свой ранее созданный файл.
2. Опишите комплексный тип OrganizationType. Содержимое можно скопировать из элемента СontractRequest/FirstSideContract/Organization.

Рисунок 45 - OrganizationType

Рисунок 46 - OrganizationType для Organization

Рисунок 47 - тип IndividualType
На занятии рассмотрен пример работы с элементом complexType. Создан собственный комплексный тип и задан для элементов СontractRequest/FirstSideContract/Organization и СontractRequest/SecondSideContract/Organization.
Вопросы для самопроверки: