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

Вариант 1-05

Составьте документ XMLдля четырех книг (из них два – одного жанра) со следующими элементами и атрибутами (каждая книга содержит от двух до четырех глав, каждая глава содержит от двух до четырех абзацев):

  • <book-list>(списоккниг) – корневой элемент;

  • <book>(книга) – элемент второго уровня с текстовым содержимым – наименованием книги с атрибутомgenre(жанр), который может иметь одно из следующих значений:"classic","detective","science-fiction" или"thriller", а также атрибутомedition-index(номер издания);

  • <author>(авторкниги) – элемент третьего уровня с текстовым содержимым (имя, фамилия отчество) и атрибутомfirst-book(первая книга) который может иметь одно из следующих значений:"yes"или"no"(у книги может быть несколько авторов);

  • <publisher>(издатель книги) – элемент третьего уровня с текстовым содержимым – наименованием издательства и атрибутомaddress(адресом издательства);

  • <publication-year>(год издания книги) – элемент третьего уровня с текстовым содержимым;

  • <content>(содержимое) – элемент третьего уровня с атрибутамиsection-style(стиль части),chapter-style(стиль главы) иparagraph-style(стиль абзаца), которые могут иметь одно из следующих значений:"ordinary","strong","big","small"или"selected";

  • <section>(часть содержимого) – элемент четвертого уровня с текстовым содержимым – наименованием части;

  • <chapter>(глава содержимого) – элемент четвертого уровня с текстовым содержимым – наименованием главы и атрибутомstyle(стиль наименования главы), который имеет те же значения, что и в элементе<section>;

  • <paragraph>(абзацсодержимого) – элемент пятого уровня с текстовым содержимым.

Ограничения документа XMLдля книг:

  • <book-list>(списоккниг) – корневой элемент;

  • в корневом элементе может быть один или более элементов <book>с текстовым содержимым и атрибутомgenre, который может иметь одно из следующих значений:"classic","detective","science-fiction" или"thriller"(по умолчанию"detective"), а также атрибутомedition-index;

  • в элементе <book> может быть один или более элементов <author>с текстовым содержимым и атрибутомfirst-book, который может иметь одно из следующих значений:"yes"или"no"(по умолчанию"no");

  • в элементе <book> должен быть только один элемент <publisher>с текстовым содержимым и атрибутомaddress;

  • в элементе <book> должен быть только один элемент <publication-year>с текстовым содержимым;

  • в элементе <book> должен быть только один элемент <content>с обязательными атрибутамиsection-style,chapter-styleиparagraph-style, которые могут иметь одно из следующих значений:"ordinary","strong","big","small"или"selected"(по умолчанию"ordinary");

  • в элементе <content> может быть несколько элементов<section>с текстовым содержимым, либо элемент<content> может отсутствовать;

  • в элементе <content> может быть несколько элементов <chapter>с текстовым содержимым;

  • в элементе <chapter> может быть несколько элементов <paragraph>с текстовым содержимым.

В DTDопределите сущности для нескольких издательств, например, сущностьpublisher1со значением"BHV"и сущностьpublisher2со значением "Pergamon Press" и используйте эти сущности в документеXML.

Создайте схему документа XMLдля книг со следующими уточнениями:

  • сущности publisher1иpublisher2представить в виде глобальных элементов с фиксированными значениями, равными соответствующим значениям сущностей;

  • значение элементов <book>,<section>,<chapter>и<paragraph> должно представлять собой последовательность букв, цифр и знаков препинания, начинающуюся с заглавной буквы;

  • в элементе <book> атрибутedition-indexдолжен быть целым положительным числом, начиная с 1;

  • значением элемента <author> может быть либо строка со следующим шаблоном"\p{Lu} \p{L}+ (\p{Lu}\.){2}"(заглавная буква любого языка, затем последовательность строчных букв, пробел и два раза заглавная буква и точка), а атрибутfirst-bookв этом элементе должен иметь булевское значение;

  • элемент <publisher> должен иметь значение последовательности символов, разделенных пробелами, либо значение одного из элементов<publisher1> или<publisher2>;

  • значение элемента <publication-year>должно быть типаgYear.

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