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

Вариант 1-29

Составьте документ XMLдля описания четырех интерфейсов языкаJava(из них два интерфейса имеют один и тот же родительский интерфейс, в каждом интерфейсе от 0 до 3 супереинтерфейсов, от 1 до 3 интерфейсов-потомков, от 1 до 3 методов) со следующими элементами и атрибутами:

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

  • <interface>(интерфейс) – элемент второго уровня с атрибутомname(наименование интерфейса);

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

  • <modifier>(модификатор интерфейса) – элемент третьего уровня с текстовым содержимым (текстовое содержимое может иметь значение"protected" или"private");

  • <superinterface-list>(список интерфейсов – родителей данного интерфейса) – элемент третьего уровня;

  • <superinterface>(интерфейс-родитель) – элемент четвертого уровня с текстовым содержимым – описанием интерфейса и атрибутомname(наименованием интерфейса);

  • <subinterface-list>(список прямых интерфейсов-потомков) – элемент третьего уровня;

  • <subinterface>(интерфейс-потомок) – элемент четвертого уровня с текстовым содержимым – описанием интерфейса и атрибутомname(наименованием интерфейса);

  • <field-list>(список полей интерфейса) – элемент третьего уровня с текстовым содержимым;

  • <field>(поле интерфейса) – элемент четвертого уровня с текстовым содержимым – описанием поля, а также атрибутамиname (именем поля) и type(типом переменной), который имеет одно из следующих значений:"int","float"и"String";

  • <method-list>(список методов интерфейса) – элемент третьего уровня с текстовым содержимым;

  • <method>(метод интерфейса) – элемент четвертого уровня с атрибутомname – именем метода;

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

  • <modifiers>(модификаторы метода) – элемент пятого уровня с текстовым содержимым– одним из значений: "static","public", "private" или"protected";

  • <return-value-type>(тип возвращаемого значения для метода) – элемент пятого уровня с текстовым содержимым;

  • <method-parameter-list>(список параметров метода) – элемент пятого уровня;

  • <parameter> (параметр метода) – элемент шестого уровня с текстовым содержимым – описанием параметра, а также атрибутамиname (именем поля) и type(типом параметра), который имеет те же значения, что и атрибутtypeв элементе<field>;

  • <version>(версияJava, в которой впервые появился интерфейс) – элемент третьего уровня с текстовым содержимым.

Ограничения документа XMLдля описания интерфейсов языкаJava:

  • в корневом элементе может быть один или более элементов <interface>с обязательным атрибутомname;

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

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

  • в элементе <interface> может быть несколько элементов <superinterfaces-list>, либо элемент<superinterfaces-list> может отсутствовать;

  • в элементе <superinterface-list> может быть один или более элементов <superinterface>с текстовым содержимым и обязательным атрибутомname;

  • в элементе <interface> может быть несколько элементов <subinterface-list>, либо элемент<subinterface-list> может отсутствовать;

  • в элементе <subinterface-list> может быть один или более элементов <subinterface>с текстовым содержимым – описанием интерфейса и обязательным атрибутомname;

  • в элементе <interface> может быть несколько элементов <field-list>, либо элемент<field-list> может отсутствовать;

  • в элементе <field-list> может быть один или более элементов <field>с текстовым содержимым, а также обязательными атрибутамиname и type, который имеет одно из следующих значений:"int","float"и"String";

  • в элементе <interface> может быть несколько элементов <method-list>, либо элемент<method-list> может отсутствовать;

  • в элементе <method-list> может быть один или более элементов <method>с обязательным атрибутомname;

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

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

  • в элементе <method> должен быть только один элемент <return-value-type>с текстовым содержимым;

  • в элементе <method> должен быть только один элемент<method-parameter-list>;

  • в элементе <method-parameter-list> может быть один или более элементов <parameter> с текстовым содержимым, а также обязательными атрибутамиname (именем поля) и type(типом параметра), который имеет те же значения, что и атрибутtypeв элементе<field>;

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

В DTDопределите сущности для нескольких модификаторов, например, сущностьmodifier1со значением "private"и сущностьmodifier2со значением "protected", а также типов, например, сущностьtype1со значением "int", сущностьtype2со значением "void"и сущностьtype3со значением "String" и используйте эти сущности в документеXML.

Создайте схему документа XMLдля описания интерфейсов языкаJavaсо следующими уточнениями:

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

  • значение атрибутов nameв элементах<interface>,<superinterface>и<subinterface>должны содержать последовательность заглавных и строчных латинских букв и цифр, причем первым символом должна быть заглавная буква;

  • значение атрибута nameв элементе<field>должно содержать последовательность заглавных букв и цифр;

  • элементы <description>и<method-description> должны содержать последовательность букв, цифр, пробельных символов и знаков препинания;

  • элементы <modifier> и<method-modifiers>должны содержать внутри себя один из следующих элементов:<modifier1/>или<modifier2/>, либо не содержать никакого значения;

  • значение атрибута nameв элементах<method>,<parameter> и<field> должно содержать последовательность заглавных и строчных латинских букв и цифр, причем первым символом должна быть строчная буква;

  • элемент <return-value-type>должен иметь те же допустимые значения, что и атрибутtypeв элементе<field>;

  • элемент <return-value-type>должен содержать внутри себя один из следующих элементов:<type1/>,<type2/>или<type3/>;

  • в качестве значения элемента <version>должно использоваться одно из следующих значений:"1.1","1.2","1.3","1.4"или"1.5".

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