- •Лабораторная работа 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-23
Составьте документ XMLдля описания четырех классов языкаJava(из них два класса – с одним и тем же классом-родителем) со следующими элементами и атрибутами:
<class-list>(список классов) – корневой элемент;
<class>(класс) – элемент второго уровня с атрибутомname– именем класса;
<description>(описание класса) – элемент третьего уровня с текстовым содержимым – описанием класса;
<modifiers>(модификаторы класса) – элемент третьего уровня с текстовым содержимым – модификаторами класса, имеющим одно из значений:"static","public" или"protected";
<superclass>(класс-родитель) – элемент третьего уровня с текстовым содержимым – именем класса-родителя;
<subclass-list>(список прямых классов-потомков) – элемент третьего уровня;
<subclass>(подкласс) – элемент четвертого уровня с текстовым содержимым – именем подкласса;
<interface-list>(список интерфейсов, реализуемых классом) – элемент третьего уровня;
<interface>(интерфейс) – элемент четвертого уровня с текстовым содержимым – именем интерфейса;
<fields-list>(список полей класса) – элемент третьего уровня;
<field>(поле класса) – элемент четвертого уровня с атрибутомname(именем поля) и с текстовым содержимым – описанием поля;
<constructor-list>(список конструкторов класса) – элемент третьего уровня с текстовым содержимым;
<constructor-parameter>(параметр конструктора) – элемент четвертого уровня с текстовым содержимым – описанием параметра, а также атрибутомname(имя параметра) и атрибутомtype(тип параметра), который может иметь одно из следующих значений:"int","float"и"String";
<method-list>(список методов класса) – элемент третьего уровня с текстовым содержимым;
<method>(метод класса) – элемент четвертого уровня с обязательным атрибутомname(именем метода) и текстовым значением – модификатором метода;
<method-parameter>(параметр метода) – элемент пятого уровня с текстовым содержимым – описанием параметра, а также атрибутомname(имя параметра) и атрибутомtype(тип параметра), который может иметь одно из следующих значений:"int","float"и"String";
<return-value-type>(тип возвращаемого значения) – элемент четвертого уровня с текстовым содержимым – типом возвращаемого методом значения;
<version>(версияJava, в которой впервые появился класс) – элемент третьего уровня с текстовым содержимым.
Ограничения документа XMLдля описания классов языкаJava:
в корневом элементе может быть один или более элементов <class>(класс) с обязательным атрибутомname;
в элементе <class> должен быть только один элемент <description>с текстовым содержимым;
в элементе <class> должен быть только один элемент <modifiers>с текстовым содержимым;
в элементе <class> должен быть только один элемент <superclass>с текстовым содержимым;
в элементе <class> может быть один элемент <subclass-list>, либо элемент<subclass-list> может отсутствовать;
в элементе <subclass-list> может быть один или более элементов <subclass>с текстовым содержимым;
в элементе <class> может быть один элемент <interface-list>, либо элемент<interface-list> может отсутствовать;
в элементе <interface-list> может быть один или более элементов <interface>с текстовым содержимым;
в элементе <class> может быть один элемент <fields-list>, либо элемент<fields-list> может отсутствовать;
в элементе <fields-list> может быть один или более элементов <field>с обязательным атрибутомnameи с текстовым содержимым;
в элементе <class> может быть один элемент <constructor-list>, либо элемент<constructor-list> может отсутствовать;
в элементе <constructor-list> может быть один или более элементов <constructor-parameter>с текстовым содержимым, а также обязательным атрибутомnameи атрибутомtype, который может иметь одно из следующих значений:"int","float"и"String"(по умолчанию"int");
в элементе <class> может быть один элемент <method-list>, либо элемент<method-list> может отсутствовать;
в элементе <method-list> может быть один или более элементов <method>с обязательным атрибутомnameи текстовым значением;
в элементе <method> может быть один или более элементов <method-parameter>с текстовым содержимым, а также обязательным атрибутомnameи атрибутомtype, который может иметь одно из следующих значений:"int","float"и"String" (по умолчанию"int");
в элементе <method> должен быть только один элемент <return-value-type>с текстовым содержимым;
в элементе <class> должен быть только один элемент <version>с текстовым содержимым.
В DTDопределите сущности для нескольких модификаторов, например, сущностьmodifier1со значением "static"и сущностьmodifier2со значением "public", а также типов, например, сущностьtype1со значением "int", сущностьtype2со значением "void"и сущностьtype3со значением "String"(в полях и методах) и используйте эти сущности в документеXML.
Создайте схему документа XMLдля описания классов языкаJavaсо следующими уточнениями:
сущности modifier1,modifier2,type1,type2 иtype3представить в виде глобальных элементов с фиксированными значениями, равными соответствующим значениям сущностей;
значение атрибута nameв элементе<class>и элементы<superclass>,<subclass> и<interface>должны содержать последовательность заглавных и строчных латинских букв и цифр, причем первым символом должна быть заглавная буква;
элемент <description>должен содержать последовательность букв, цифр, пробельных символов и знаков препинания;
значение атрибута nameв элементах<method>,<field>,<constructor-parameter>и<method-parameter> должно содержать последовательность заглавных и строчных латинских букв и цифр, причем первым символом должна быть строчная буква;
элемент <modifier> должен содержать внутри себя один из следующих элементов:<modifier1/>или<modifier2/>;
элемент <return-value> должен содержать внутри себя один из следующих элементов:<type1/>,<type2/>или<type3/>;
в качестве значения элемента <version>должно использоваться одно из следующих значений:"1.1","1.2","1.3","1.4"или"1.5".
