Опубликован: 05.08.2007 | Доступ: свободный | Студентов: 2200 / 83 | Оценка: 4.47 / 4.09 | Длительность: 20:11:00
ISBN: 978-5-9556-0097-0
Лекция 10:

Введение в XML

Структура XML-документа

Созданный нами документ состоит из двух основных частей - пролога и корневого элемента (элемента "Документ") (рис. 10.6).

 Структура документа XML

увеличить изображение
Рис. 10.6. Структура документа XML

Пролог может иметь необязательные компоненты, такие как тип и структура документа, инструкции по обработке приложения. Далее мы будем встречать эти компоненты. Корневой элемент представляет собой основу всего элемента и состоит из начального тега, конечного тега и содержимого. В качестве содержимого могут быть данные (текст), другие теги (вложенные элементы) или их сочетание. В рассматриваемом документе корневой элемент - TABLE. Его начальный тег - <TABLE>, конечный - </TABLE>, а содержимое - пять вложенных элементов <TOUR>. Каждый элемент Tour в свою очередь состоит из группы вложенных элементов (рис. 10.7).

 Структура элемента

Рис. 10.7. Структура элемента

Каждый тег, входящий в элемент TOUR, представляет собой простейшую структуру (рис. 10.8).

 Структура тега

Рис. 10.8. Структура тега

Структура в точности такая же, как и у элементов HTML, только названия элементов определены, а в тегах XML тип задается пользователем.

Понятие корректно сформированных (well-formed) XML-документов

Документ называется корректно сформированным, если он соответствует минимальному набору правил для XML-документов:

  1. XML-документ должен иметь только один корневой элемент (элемент "Документ"). Все другие элементы должны быть вложены в корневой элемент.
  2. Элементы должны быть вложены упорядоченным образом. Если элемент начинается внутри другого элемента, он должен и заканчиваться внутри этого элемента.
  3. Каждый элемент должен иметь начальный и конечный теги. В отличие от HTML, в XML не разрешается опускать конечный тег - даже в том случае, когда браузер в состоянии определить, где заканчивается элемент.
  4. Название элемента в начальном теге должно в точности соответствовать (с учетом регистра) названию в соответствующем конечном теге.
  5. Название элемента должно начинаться с буквы или с символа подчеркивания ( _ ), после чего могут идти буквы, цифры, символы точки (.), тире (-) или подчеркивания.

Это базовые критерии корректного формирования. Для других понятий языка XML (атрибутов, примитивов, связей) действуют свои правила, которые необходимо соблюдать. Можно сказать, что если документ создан правильно, верно и при его отображении и использовании не возникает никаких ошибок, то это и есть корректно сформированный документ. Если вы ошибетесь в каком-либо теге HTML-страницы, браузер просто проигнорирует соответствующий тег, а ошибка в теге XML сделает невозможным отображение страницы. В этом смысле написание XML похоже на программирование на C# - компилятор не запустит программу при наличии синтаксических ошибок. При наличии одной из ошибок встроенный в Internet Explorer анализатор (его иногда называют XML-процессор или парсер) определяет ее позицию (таблица 10.2).

Таблица 10.2. Ошибки формирования XML-документов
Ошибка Описание
1
<?xml version="1.0"
 encoding="utf-8" ?>

<!-- Название файла
 XMLTour.xml  -->
<TABLE>
:
</TABLE>
<TABLE2>
</TABLE2>
В документе находится два корневых элемента
Результат в Internet Explorer
2
<?xml version="1.0"
 encoding="utf-8" ?>

<!-- Название файла
 XMLTour.xml  -->
<TABLE>
<TOUR>
<IDTOUR>1</IDTOUR>
<NAME>Кипр</NAME>
<PRICE>25 000,00р. </PRICE>
<INFORMATION>В стоимость
 двух взрослых путевок
 входит цена одной детской
 (до 7лет)</TOUR>
</INFORMATION>
:
</TABLE>
Тег INFORMATION начинается внутри тега TOUR, а заканчивается снаружи

Правильная структура:

<TOUR>
<INFORMATION>
</INFORMATION>
</TOUR>

Неправильная:

<TOUR>
<INFORMATION>
</TOUR>
</INFORMATION>
Результат в Internet Explorer
3
<?xml version="1.0"
 encoding="utf-8" ?>

<!-- Название файла
 XMLTour.xml  -->
<TABLE>
<TOUR>
<IDTOUR>1
:
</TOUR>
:
</TABLE>
Нет конечного тега IDTOUR
Результат в Internet Explorer
4
<?xml version="1.0"
 encoding="utf-8" ?>

<!-- Название файла
 XMLTour.xml  -->
<TABLE>
<TOUR>
<IDTOUR>1</IDTOUR>
<NAME>Кипр</name>
:
</TOUR>
:
</TABLE>
Регистр начального и конечного тега не совпадают
Результат в Internet Explorer
5
<?xml version="1.0"
 encoding="utf-8" ?>

<!-- Название файла
 XMLTour.xml  -->
<TABLE>
<TOUR>
<IDTOUR>1</IDTOUR>
<NAME>Кипр</NAME>
<1PRICE>25 000,00р. </PRICE>
:
</TOUR>
:
</TABLE>
Название элемента 1PRICE начинается с цифры
Результат в Internet Explorer

В программном обеспечении к курсу вы найдете папку "Ошибки_XML", в которой находятся рассмотренные документы XML с ошибками (Code\Glava5\Ошибки_XML).