Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_XML.doc
Скачиваний:
16
Добавлен:
03.05.2019
Размер:
3.94 Mб
Скачать

Лабораторная работа №6

  1. К картотеке из лабораторной работы №5, которая была создана для одной группы студентов, добавьте описание ещё одной группы студентов

  2. Объявление элементов вместе с их атрибутами (если они имеются), в которые вложены данные о месте проживания студента, разместите во внешнем DTD.

  3. Объявление всех остальных элементов вместе с их атрибутами (если они имеются) разместите во внутреннем DTD.

  4. Попробуйте правильно воспользоваться разделом IGNORE для отключения действия некоторых элементов из раздела DTD.

  5. Для отображения документа в браузере создайте новую таблицу какскадных стилей, предварительно согласовав её с преподавателем.

  6. Сохраните созданный документ в папке под своей фамилией.

  7. Закройте текстовый редактор “Блокнот”.

  8. Откройте для просмотра созданный XML-документ в браузере Internet Explorer.

  9. При появлении сообщений об ошибках, постарайтесь их найти и устранить.

  10. Сдайте работу преподавателю.

3.16. Преобразование корректно сформированного документа в валидный

  1. Для этого нужно открыть в текстовом редакторе документ Inventory.xml, созданный выше (Листинг 1.2).

  2. Непосредственно перед элементом Документ — с именем INVENTORY нужно ввести следующее объявление типа документа:

<!DOCTYPE INVENTORY

[

<!ELEMENT INVENTORY (BOOK)*>

<!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)>

<!ATTLIST BOOK InStock (да | нет) #REQUIRED

<!ELEMENT TITLE (#PCDATA | SUBTITLE)*>

<!ELEMENT SUBTITLE (#PCDATA)>

<!ELEMENT AUTHOR (#PCDATA)>

<!ATTLJST AUTHOR Born CDATA #IMPLIED>

<! ELEMENT BINDING (#PCDATA)>

<!ELEMENT PAGES (#PCDATA)>

<!ELEMENT PRICE (#PCDATA)>

]

>

Имя следующего за DOCTYPE ключевого слова совпадает с именем элемента Документ, INVENTORY.DTD состоит только из внутреннего подмножества, которое определяет элементы и атрибуты документа следующим образом:

  • элемент Документ, INVENTORY, имеет содержимое. Он может включать несколько дочерних элементов BOOK или не включать ни одного;

  • элемент BOOK также имеет содержимое. Оно должно включать строго по одному из следующих элементов, в порядке, перечисленном в объявлении документа: TITLE, AUTHOR, BINDING, PAGES и PRICE;

  • элемент TITLE имеет смешанное содержимое. Он может включать символьные данные с несколькими элементами SUBTITLE или без них;

  • элементы AUTHOR, BINDING, PAGES и PRICE также имеют смешанное содержимое. Эти элементы, однако, могут включать только символьные данные без дочерних элементов;

  • элемент BOOK имеет атрибут нумерованного типа с именем InStock, который является обязательным атрибутом и может принимать значения либо “да”, либо “нет”;

  • элемент AUTHOR имеет атрибут строкового типа с именем Born, который является необязательным и не имеет значения по умолчанию.

  1. Добавьте следующий дочерний элемент SUBTITLE в элемент TITLE для книги “Королева Марго”:

<ВООК>

<TITLE> Королева Марго

<SUBTITLE> Королева Франции</SUBTITLE>

</TITLE>

  1. Добавьте обязательный атрибут InStock каждому элементу BOOK, присвоив ему значения “да” или “нет”, как показано ниже:

<ВООК lnStock="да">

<TITLE>Война и мир</TITLE>

<AUTHOR>Лев Толстой</AUTHOR>

<BINDING>Жёсткая обложка</BINDING>

<PAGES>510</PAGES>

<PRICE>12 000 рублей</PRICE>

</BOOK>

  1. Добавьте необязательный элемент Born к одному или нескольким элементам. Пример:

<AUTHOR Born="19 век">Лев Толстой</AUTHOR>

  1. Чтобы отразить новое имя создаваемого файла измените комментарий в начале документа с:

<!-- Имя файла: Inventory.xml -->

на

<!-- Имя файла: Inventory Valid.xml -->

  1. Сохраните модифицированный документ под именем Inventory Valid.xml.