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

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

  1. Используя в качестве образца файл таблицы каскадных стилей “Inventory01.css”, для XML-документа из лабораторной работы №1 при помощи текстового редактора “Блокнот” создайте собственный файл таблицы каскадных стилей.

  2. Свяжите его с данным XML-документом.

  3. Откройте откорректированный XML-документ в браузере Internet Explorer.

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

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

2.2. Добавление элементов в документ

Элементы в XML-документе содержат фактическую информацию, имеющуюся в документе (для Листинга 1.2, например, это названия книг, фамилии авторов, цена и т. д.), а также отражают логическую структуру информации.

Элементы организованы в иерархическую древовидную структуру, в которой одни элементы вложены в другие. Документ должен иметь один и только один элемент верхнего уровня - элемент Документ, или корневой элемент - а все другие элементы вложены в него. Представленный ниже XML-документ является корректно сформированным.

<?xml version="1.0"?>

<!-- Корректно сформированный XML-документ -->

<INVENTORY>

<BOOK>

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

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

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

<PAGES>510</PAGES>

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

</BOOK>

<BOOK>

<TITLE>Преступление и наказание</TITLE>

<AUTHOR>Фёдор Достоевский</AUTHOR>

<BINDING>Мягкая обложка</BINDING>

<PAGES>590</PAGES>

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

</BOOK>

</INVENTORY>

Листинг 1.4 Пример корректно сформированного XML-документа

А вот следующий документ не является корректно сформированным.

<?xml version="1.0"?>

<!-- Это не корректно сформированный XML-документ -->

<BOOK>

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

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

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

<PAGES>510</PAGES>

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

</BOOK>

<BOOK>

<TITLE>Преступление и наказание</TITLE>

<AUTHOR>Фёдор Достоевский</AUTHOR>

<BINDING>Мягкая обложка</BINDING>

<PAGES>590</PAGES>

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

</BOOK>

Листинг 1.4 Пример не корректно сформированного XML-документа

Элементы также должны быть правильно вложены. При этом если элемент (ограниченный начальным и конечным тегами) начинается внутри другого элемента, то он должен и заканчиваться внутри того же элемента. Например, эти элементы являются корректно сформированными:

<BOOK>

<TITLE>Преступление и наказание</TITLE>

<AUTHOR>Фёдор Достоевский</AUTHOR>

</BOOK>

В то же время эти элементы не являются корректно сформированными:

<!-- Не корректно сформированный XML-документ -->

<BOOK><TITLE>Преступление и наказание</BOOK></TITLE>

Элемент, который содержит один или более вложенных элементов (например, BOOK в Листинге 1.2), называется родительским элементом. Элемент, содержащийся непосредственно внутри родительского элемента (например, TITLE внутри BOOK), называется дочерним элементом, субэлементом или вложенным элементом.

2.3. Анатомия элемента

Элемент обычно состоит из начального тега, содержимого и конечного тега, как показано на рисунке 4.

В отличие от HTML, XML требует наличия как начального, так и конечного тега. (Единственным исключением является элемент без содержимого, для которого вы можете использовать специальный тег пустого элемента, о котором пойдет речь далее.)

Имя, которое содержится в стартовой позиции начального тега и в конечном теге (TITLE на рисунке 4), называется типом или родовым идентификатором элемента. Имя элемента идентифицирует особый тип или класс элемента, а не собственно элемент. Таким образом, документ может содержать более одного элемента с одинаковыми именами типа (например, элементы BOOK или TITLE в Листинге 1.2). При добавлении элемента в XML-документ можно выбрать любое имя типа по желанию, руководствуясь при этом следующими правилами:

  • имя должно начинаться с буквы или с символа подчеркивания (_), после чего могут идти буквы, цифры, символы точки (.), тире (-) или подчеркивания;

  • в спецификации XML указано, что имена типов элементов, которые начинаются с префикса “xml” (при любом сочетании строчных или прописных букв), “зарезервированы для стандартных имен”. Хотя браузер не слишком требователен в этом отношении, лучше не использовать этот префикс, дабы избежать будущих неприятностей.

Ниже приведены примеры правильного задания имен типов элементов.

Part

JstPlace

А

B-SECTION

Street.Address.1

Следующие имена использовать недопустимо:

1stPlace <!--В качестве первого символа нельзя использовать цифру-->

В Section <!--Пробел внутри имени не разрешается-->

B/Section <!--Косая черта внутри имени не разрешается-->

:Chapter <!--Двоеточие нельзя использовать в качестве первого символа-->

A:Section <!--Допускается, если только А объявлено как пространство имен-->

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

<Title> Преступление и наказание </title> <!-- НЕ корректно. -->

Соблюдение регистра существенно для имен элементов, как и для всего текста в описании разметки. Так, тип элемента с именем Book не будет эквивалентен типу book или BOOK.