Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лабы / Lab4-01.doc
Скачиваний:
26
Добавлен:
12.05.2015
Размер:
1.28 Mб
Скачать

Вариант 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>должно быть десятичным числом с двумя цифрами после точки.

Соседние файлы в папке Лабы