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

Вариант 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".

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