- •Лабораторная работа 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-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.
