- •Лабораторная работа 4-01
- •3.1.2. Объявления
- •3.1.3. Элемент
- •3.1.4. Инструкция по обработке
- •3.1.5. СекцииCdata
- •3.1.6. Ссылки
- •3.1.7. Комментарии
- •3.2. Объявление типа документа (dtd)
- •3.2.1. Структура dtd
- •3.2.2. Определение элемента
- •3.2.3. Определение атрибутов элемента
- •3.2.4. Определение сущности
- •3.2.5. Определение нотации
- •3.3. Программа xmlSpy2006HomeEdition
- •3.3.1. Общие сведения о xmlSpy2006HomeEdition
- •3.3.2. Установка xmlSpy
- •3.3.3. Работа с xmlSpy
- •3.3.3.1. Компоненты xmlSpy
- •3.3.3.2. Создание dtd документа xml
- •3.3.3.3. Создание нового документа xml
- •3.3.3.4. Другие операции с документами xml и dtd
- •3.4. Назначение схем xml
- •3.5. Типы данных схемы xml
- •3.5.1. Встроенные примитивные типы данных схемы xml
- •3.5.2. Встроенные производные типы данных схемы xml
- •3.5.3. Свойства данных схемы xml
- •3.5.3.1. Фундаментальные свойства
- •3.5.3.2. Ограничивающие свойства
- •3.5.3.3. Ограничивающие условия для встроенных типов данных схемыXml
- •3.6. Компоненты схемыXml
- •3.6.1. Первичные компоненты схемы xml
- •3.6.1.1. Определения простого типа
- •3.6.1.2. Определения комплексного типа
- •3.6.1.3. Объявления атрибутов и элементов
- •3.6.2. Вторичные компоненты схемы xml
- •3.6.2.1. Определение группы атрибутов и группы моделей
- •3.6.2.2. Определения ограничений
- •3.6.2.3. Объявление нотации
- •3.6.3. Справочные компоненты схемы xml
- •3.6.3.1. Аннотации
- •3.6.3.2. Определения моделей в группе
- •3.6.3.3. Определения шаблонов
- •3.6.4. Определение ограничивающих свойств
- •3.6.5. Компоненты схемы в целом
- •3.6.6. Назначение атрибутов в компонентах схемы xml
- •3.6.7. Допустимые значения атрибутов в компонентах схемыXml
- •3.6.8. Использование регулярных выражений в схемах xml
- •3.6.8.1. Метасимволы
- •3.6.8.2. Ссылки на символы
- •3.6.8.3. Операторы повторения
- •3.6.8.4. Операторы диапазона символов
- •3.6.8.5. Специальные символы
- •3.7. Включение схемы в документ xml
- •3.8. Формирование схем в xmlSpy2006HomeEdition
- •3.8.3.2. Формирование схемы с использованием модели содержимого
- •3.8.3.3. Пример формирование простой схемы
- •4. Порядок выполнения работы
- •Вариант 1-01
- •Вариант 1-02
- •Вариант 1-03
- •Вариант 1-04
- •Вариант 1-05
- •Вариант 1-06
- •Вариант 1-07
- •Вариант 1-08
- •Вариант 1-09
- •Вариант 1-10
- •Вариант 1-11
- •Вариант 1-12
- •Вариант 1-13
- •Вариант 1-14
- •Вариант 1-15
- •Вариант 1-16
- •Вариант 1-17
- •Вариант 1-18
- •Вариант 1-19
- •Вариант 1-20
- •Вариант 1-21
- •Вариант 1-22
- •Вариант 1-23
- •Вариант 1-24
- •Вариант 1-25
- •Вариант 1-26
- •Вариант 1-27
- •Вариант 1-28
- •Вариант 1-29
- •Вариант 1-30
- •5. Содержание отчета
- •6. Вопросы для самоконтроля
Вариант 1-18
Составьте документ XMLдля четырех контрактов на выполнение работ (из них два контракта – с одним и тем же заказчиком) со следующими элементами и атрибутами (в каждом контракте 2-4 задания и 1-3 условия):
<contract-list>(список контрактов) – корневой элемент;
<contract>(контракт) – элемент второго уровня с атрибутомtitle(заголовок контракта);
<preamble>(преамбула контракта) – элемент третьего уровня с атрибутомcity(место заключения контракта), который может иметь одно из следующих значений:"Киев","Днепропетровск","Донецк" или"Харьков", а также атрибутомdate;
<director>(заказчик) – элемент третьего уровня;
<organization>(организация) – элемент четвертого уровня с текстовым содержимым;
<fio>(фамилия, имя и отчество заказчика) – элементчетвертогоуровня с текстовым содержимым;
<contractor>(контрактант) – элемент третьего уровня;
<fio>(фамилия, имя и отчество контрактанта) – элементчетвертогоуровня с текстовым содержимым;
<status>(должность, на которую принимают контрактанта) – элемент четвертого уровня с текстовым содержимым;
<task-content-list>(список заданий) – элемент третьего уровня;
<task-item>(задание) – элементчетвертогоуровня с текстовым содержимым;
<time-begin>(дата начала выполнения задания) – элемент четвертого уровня с текстовым содержимым;
<time-end>(дата окончания выполнения задания) – элемент четвертого уровня с текстовым содержимым;
<duration>(сроки выполнения работ по контракту) – элемент третьего уровня с атрибутамиtime-begin(время начала действия контракта) иtime-end(время окончания действия контракта);
<month-salary>(месячная зарплата) – элемент третьего уровня с текстовым содержимым;
<conditions>(условия контракта) – элемент третьего уровня с текстовым содержимым;
<results-proprietor>(собственник результатов работы) – элемент третьего уровня с атрибутомvalue(значения"Контрактант"или"Заказчик").
Ограничения документа XMLдля контрактов на выполнение работ:
в корневом элементе может быть один или более элементов <contract>с обязательным атрибутомtitle;
в элементе <contract> должен быть только один элемент <preamble>с обязательным атрибутомcity, который может иметь одно из следующих значений:"Киев","Днепропетровск","Донецк" или"Харьков"(по умолчанию"Киев"), а также обязательным атрибутомdate;
в элементе <contract> должен быть только один элемент <director>;
в элементе <director> должен быть только один элемент <organization>с текстовым содержимым;
в элементе <director> должен быть только один элемент <fio>с текстовым содержимым;
в элементе <contract> должен быть только один элемент <contractor>;
в элементе <contractor> должен быть только один элемент <fio>с текстовым содержимым;
в элементе <contractor> должен быть только один элемент <status>с текстовым содержимым;
в элементе <contract> может быть один или более элементов <task-content-list>;
в элементе <task-content-list> должен быть только один элемент <task-item>с текстовым содержимым;
в элементе <task-content-list> должен быть только один элемент <time-begin>с текстовым содержимым;
в элементе <task-content-list> должен быть только один элемент <time-end>с текстовым содержимым;
в элементе <contract> должен быть только один элемент <duration>с обязательными атрибутамиtime-beginиtime-end;
в элементе <contract> должен быть только один элемент <month-salary>с текстовым содержимым;
в элементе <contract> может быть один или более элементов <conditions>с текстовым содержимым;
в элементе <contract> должен быть только один элемент <results-proprietor>с атрибутомvalueперечислимого типа (значения"Контрактант"и"Заказчик", значение по умолчанию –"Заказчик").
В DTDопределите сущности для фамилии, имени, отчества заказчика, например, сущностьcustomer1со значением "Иванов И.И"и сущностьcustomer2со значением "Петров П.П."и используйте эти сущности в документеXML.
Создайте схему документа XMLдля контрактов на выполнение работ со следующими уточнениями:
сущности customer1иcustomer2представить в виде глобальных элементов с фиксированными значениями, равными соответствующим значениям сущностей;
значение атрибута titleв элементе<contract>должно содержать слово или последовательность слов, разделенных пробелом, причем первое слово должно начинаться с заглавной буквы;
значение атрибута dateв элементе<preamble>, значения элементов<time-begin> и<time-end>, а также значения атрибутовtime-beginиtime-endв элементе<duration> должны быть типаdate;
элемент <status> должен иметь одно из следующих значений:"с.н.с","м.н.с","техник"и"лаборант"(по умолчанию"с.н.с")
элемент <fio>в элементах<director>и<contractor> должен содержать три последовательности букв, разделенных пробелами и начинающихся с заглавной буквы, кроме того, элемент<contractor>может иметь значение<customer1/> или<customer2/>;
значение элементов <task-item>и<conditions> должно представлять собой последовательность букв, цифр и знаков препинания, начинающуюся с заглавной буквы;
значение элемента <month-salary>должно быть десятичным числом с двумя цифрами после точки.
